API之URL链接参数携带特殊字符转码
⼀、URL 参数特殊字符说明
不管是以何种⽅式传递url时,如果要传递的url中包含特殊字符,如想要传递⼀个+,但是这个+会被url会被编码成空格,想要传递&,被url处理成分隔符。
尤其是当传递的url是经过Base64加密或者RSA加密后的,存在特殊字符时,这⾥的特殊字符⼀旦被url处理,就不是原先你加密的结果了。
⼆、URL 特殊参数产⽣的问题,如下
定义⽅法
url编码处理访问,传⼊ + 参数变为了空格。
解决办法:
将+变为对应的编码 %2B
三、URL特殊符号及对应的编码:
四、RPC调⽤,特殊字符转码
URLDecoder.decode 将转译的特殊字符还原
String encode = de("1+1", "UTF-8");
String decode = URLDecoder.decode(encode, "UTF-8");
使⽤如下:
String url = "127.0.0.1:8080/tranIndex?";
// 参数转码
String strParam = "name=" + de("1+1", "utf-8");  String newUrl = url + strParam;
// 请求接⼝
String result = HttpClientUtils.httpGet(newUrl);
System.out.println("result:" + result);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。