背景
Web端或者BS类型的项目经常有跨域的数据文件访问的情况,数据文件获取的动作就成了常见的操作。之前又有这样的问题需要处理,随手写了一个数据处理接口,但是发现有一部分数据流能够正常读取,而有一部分数据读取会返回505的问题,看返回报文说不支持的http。发现其实时因为你请求的地址中有特殊字符导致了这个问题。特此纪要!
问题
Java HttpClient数据请求时返回505,HTTP Version Not Supported如何解决?
说明
以下是一些常见的特殊字符对应的转换。如下图:
处理方案
我对于这个问题的处理比较纯粹,既然是由于特殊字符引起的问题,而我又确认了文件的特殊字符,于是直接使用的文本替换的操作对请求地址进行了特殊字符的处理。最终解决了这个问题。
案例Demo
以下是我的处理Demo(最关键的一段代码就是对于特殊字符的处理):
import org.apache.commons.io.IOUtils; import org.apache.http.HttpResponse; import org.apache.htt