JAvaはHttpGetのIllegal character in query異常を解決する

3527 ワード

問題コード(コンパイルは問題ありません):
String strUrl="http://a.cn/send?a=1&b=1|3&mobile=%s&content=%s";
strUrl=String.format(strUrl, encryptMobile, content);
HttpGet httpGet = new HttpGet(strUrl);

異常現象:java 解决HttpGet出现Illegal character in query异常_第1张图片原因:urlアドレスに特殊文字"|"が存在する
ソリューション:
String strUrl="http://a.cn/send?a=1&b=1|3&mobile=%s&content=%s";
strUrl=String.format(strUrl, encryptMobile, content);
//     begin
URL url = new URL(strUrl);			
URI uri = new URI(url.getProtocol(), url.getHost(), url.getPath(), url.getQuery(), null);
//     end
HttpGet httpGet = new HttpGet(uri);