- java.lang.IllegalArgumentExcepti
- java.lang.IllegalArgumentExcepti
- java.lang.IllegalArgumentExcepti
- java.lang.IllegalArgumentExcepti
- java.lang.IllegalArgumentExcepti
- java.lang.IllegalArgumentExcepti
- java.lang.IllegalArgumentExcepti
- java.lang.IllegalArgumentExcepti
- java.lang.IllegalArgumentExcepti
- java.lang.IllegalArgumentExcepti
1缘由:
之前有个需求就是根据输入的字符串请求接口然后返回相应的数据,因为需要把参数decode,但是当 decode的时候decode的内容里有%会出现崩溃
java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern : %&d
2.原因:
去网上搜了一些原来是请求的时候把%decode之后会有问题,这样就可以解决问题。
3:解决办法
只需要把上传参数中的%换成%25
class Main {
public static void main(String[] args) throws java.lang.Exception {
String url = "[http://example.com/test?q=%.P%20some%20other%20Text](http://example.com/test?q=%.P%20some%20other%20Text)";
url = url.replaceAll("%(?![0-9a-fA-F]{2})", "%25");
System.out.println(url);
}
}
网友评论