get请求URL传参url编码工具类
get请求URL传参需要 进行url编码,只能编码参数,不能整个编码URL
package com.bonc.bxm.security.common.util;import lombok.extern.slf4j.Slf4j;import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.StringTokenizer;/*** Url 工具类* @ClassName UrlUtils* @Description TODO*/
@Slf4j
public class UrlUtils {public static void main(String[] args)throws Exception {String str ="http://172.16.68.12:8777/bxmLabelLabrary/getPageLabrary?timestamp=1657007739565&name=^&pageNum=1&pageSize=9";String result=GetRealUrl(str);System.out.println(result);}//对url中的参数进行url编码public static String GetRealUrl(String str) {try {int index = str.indexOf("?");if (index < 0) return str;String query = str.substring(0, index);String params = str.substring(index + 1);Map map = GetArgs(params);//Map map=TransStringToMap(params);String encodeParams = TransMapToString(map);return query + "?" + encodeParams;} catch (Exception e) {log.error(e.getMessage(), e);}return "";}//将url参数格式转化为mappublic static Map GetArgs(String params) throws Exception{Map map=new HashMap();String[] pairs=params.split("&");for(int i=0;i<pairs.length;i++){int pos=pairs[i].indexOf("=");if(pos==-1) continue;String argname=pairs[i].substring(0,pos);String value=pairs[i].substring(pos+1);value= URLEncoder.encode(value,"utf-8");map.put(argname,value);}return map;}//将map转化为指定的String类型public static String TransMapToString(Map map){java.util.Map.Entry entry;StringBuffer sb = new StringBuffer();for(Iterator iterator = map.entrySet().iterator(); iterator.hasNext();){entry = (java.util.Map.Entry)iterator.next();sb.append(entry.getKey().toString()).append( "=" ).append(null==entry.getValue()?"":entry.getValue().toString()).append (iterator.hasNext() ? "&" : "");}return sb.toString();}//将String类型按一定规则转换为Mappublic static Map TransStringToMap(String mapString){Map map = new HashMap();java.util.StringTokenizer items;for(StringTokenizer entrys = new StringTokenizer(mapString, "&"); entrys.hasMoreTokens();map.put(items.nextToken(), items.hasMoreTokens() ? ((Object) (items.nextToken())) : null))items = new StringTokenizer(entrys.nextToken(), "=");return map;}
}
get请求URL传参url编码工具类相关推荐
- url传参参数编码的解码问题
JS中encodeURIComponent(URL)编码与decodeURIComponent(URL)解码详解 (1)encodeURIComponent(url)函数 定义和用法 encodeUR ...
- php解析url编码,php对URL传参进行编码和解码解析
1. 对URL 传递的参数进行编码 使用URL 传递参数数据,就是在 URL地址后面加上适当的参数.URL 实体对这些参数进行处理.其使用的方式如下面的格式: 显而易见,这种方法将会把参数暴露出来,安 ...
- python get请求 url传参_requests的get请求url参数、url重定向处理及cookies
需求:在百度搜索www.python66.com,然后将搜索结果保存到文件bd_python66.html 百度搜索的url:https://www.baidu.com/s?wd=搜索词 params ...
- vue前后端aes url传参解密再解base64编码
需求:我们公司做机票订购服务,有自己的平台的订单,也有第三方网站向我们网站导入的用户订单,第三方导入的是通过url传参的方式导入.url会携带用户的相关信息. url里面的参数是经过aes加密和bas ...
- Java URL传参中文乱码问题
2019独角兽企业重金招聘Python工程师标准>>> 我们经常会遇到这样的场景:在URL中传递参数,如果该参数为中文,如果设置不当,会出现乱码问题. URL传参所使用的编码为服务器 ...
- 关于url传参中文乱码问题
之前都一直很不了解中文编码得问题,之前在做项目中没碰到那么头痛的问题.所以一直没有了解中文乱码的问题. 问题描述: 地址: http://localhost:8080/sun-government/c ...
- 小程序入门学习06--data、url传参、调用豆瓣api
豆瓣不能用了,可以用这个 data- 自定义数据属性 设置 <view class='container movie-card' bindtap='f1' data-user-name=&quo ...
- 微信小程序页面跳转,url传参参数丢失问题
微信小程序页面跳转,url传参参数丢失问题 // pages/order/purchase/index.js// 跳转到采购订单详情toPurchaseOrderDetail(e) {// conso ...
- URL传参时 从URL中获取中文参数的方法
利用url传参时如果url中的参数是中文时因为编码类型不同在页面中获取会出现乱码 使用此方法能获取url中的参数值 并解决乱码问题 调用时直接 GetUrlByParamName("参数名& ...
最新文章
- 直接插入排序与希尔排序
- python参数化_Python 中如何实现参数化测试的方法示例
- Zabbix server is not running
- 【STM32】FLASH擦写+FLASH相关操作+注意事项
- [HttpClient]HTTPClient PostMethod 中文乱码问题解决方案(2种)
- matlab学习技巧
- 打印工资条怎么做到每个人都有表头明细_快速制作工资条的方法
- 《Qt 实战一二三》
- 定义日期或日期和时间格式
- matlab tube函数,2015-08-25-OpenCV for Matlab Users (5) - OpenCV 自身易搞混的函数辨析
- Python语言程序设计 测验6: 组合数据类型 (第3周)
- 华宇(大连)笔试-20190620
- 论文研读 —— 6. ImageNet Classification with Deep Convolutional Neural Networks (2/3)
- 评论区抽奖程序2.0
- 防近视护眼台灯哪个牌子好?无蓝光无频闪的护眼台灯推荐
- 2020校招笔试之新华三
- java全拼,Java获取汉字全拼和首拼
- 【读书】听“樊登读书会”的要点和实践
- 尚硅谷python培训怎么样
- 【大学计算机技术】第三、四章 测试4