本文共 1617 字,大约阅读时间需要 5 分钟。
实际项目开发中,需要通过get请求传递一个zip包的地址参数,zip地址中含有特殊字符
特殊字符 | 十六进制值 |
---|---|
+ | %2B |
空格 | URL中的空格可以用+号或者编码 %20 |
/ | %2F |
? | %3F |
% | %25 |
# | %23 |
& | %26 |
= | %3D |
import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import java.net.URLEncoder;try { String url = "http://10.238.6.8:8180/PbDeserialize-service/pbdeserialize/pbfileupdate?pbupdatefile=" + URLEncoder.encode(pbupdatefile, "utf-8"); URI uri = new URI(url); System.out.println("uri:" + uri); HttpClient httpClient = null; HttpGet getMethod = null; HttpResponse response = null; getMethod = new HttpGet(uri); //设置请求头 getMethod.addHeader("Content-Type", "application/json"); getMethod.addHeader("Accept-Encoding", "application/json"); response = httpClient.execute(getMethod); int statusCode = response.getStatusLine().getStatusCode(); System.out.println("HTTP Status Code:" + statusCode); if (statusCode != HttpStatus.SC_OK) { System.out.println("HTTP 请求未成功!HTTP Status Code:" + response.getStatusLine()); } HttpEntity httpEntity = response.getEntity(); System.out.println("httpEntity:" + httpEntity); String responseContent = null; responseContent = EntityUtils.toString(httpEntity, "UTF-8"); //释放资源 EntityUtils.consume(httpEntity); System.out.println("响应内容: " + responseContent); } catch (IOException e) { e.printStackTrace(); } catch (URISyntaxException e) { e.printStackTrace(); }catch (NullPointerException e){ e.printStackTrace(); }
转载博客: