博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
URI中特殊字符的处理
阅读量:4095 次
发布时间:2019-05-25

本文共 1617 字,大约阅读时间需要 5 分钟。

一、问题产生场景

实际项目开发中,需要通过get请求传递一个zip包的地址参数,zip地址中含有特殊字符

二、URL特殊符号及编码十六进制值

特殊字符 十六进制值
+ %2B
空格 URL中的空格可以用+号或者编码 %20
/ %2F
? %3F
% %25
# %23
& %26
= %3D

Java实现url encoding

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();      }

转载博客:

你可能感兴趣的文章
Linux C++线程池实例
查看>>
shared_ptr简介以及常见问题
查看>>
c++11 你需要知道这些就够了
查看>>
c++11 你需要知道这些就够了
查看>>
shared_ptr的一些尴尬
查看>>
C++总结8——shared_ptr和weak_ptr智能指针
查看>>
c++写时拷贝1
查看>>
C++ 写时拷贝 2
查看>>
Linux网络编程---I/O复用模型之poll
查看>>
Java NIO详解
查看>>
单列模式-编写类ConfigManager读取属性文件
查看>>
java中float和double的区别
查看>>
Statement与PreparedStatement区别
查看>>
Tomcat配置数据源步骤以及使用JNDI
查看>>
before start of result set 是什么错误
查看>>
(正则表达式)表单验证
查看>>
jsp...
查看>>
网页代码中用<%=request.getContextPath()%>和不用的区别?
查看>>
在JS中 onclick="save();return false;"return false是
查看>>
JSTL 常用标签总结
查看>>