java httpclient httpget方法如果有空格的bug进行修复

在请求头参数或者返回参数存在中文时,出现乱码的问题。
可以使用URLEncoder.encode()方法来解决,但是URLEncoder.encode()方法会将空格转换成+,解码后会发现+没有转换回来,这要特殊处理一下,将空格直接转换成%20,这里不用担心原参数中的+会被转成%20,URLEncoder.encode()方法会将原有的+转成%2B,将空格转成+
 

String reqParam = URLEncoder.encode(policyName, "UTF-8").replace("+", "%20");

HttpClientGetUtils.doGet(rangerUrlPrefix+"/service/public/v2/api/service/"+serviceName+"/policy/"+ reqParam ,headerMap);

你可能感兴趣的:(java,bug,servlet)