Java下载URL路径中含中文,如何进行转义处理?
- 内容介绍
- 相关推荐
本文共计416个文字,预计阅读时间需要2分钟。
当您尝试访问以下URL时,系统提示输入流错误,原因是路径中包含中文没有进行转义:
URL: http://127.0.0.1:9997/file/江苏省地震应急预案(二级).docx
错误提示:The valid characters are defined in RFC 7230 and RFC 3986 below. We support Chinese characters in URL paths.
为了解决这个问题,请确保URL中的中文路径使用URL编码。以下是编码后的URL:
URL: http://127.0.0.1:9997/file/%E6%B1%9F%E8%8B%8F%E7%9C%81%E5%9C%B0%E9%9C%87%E5%BA%94%E6%80%A5%E9%A2%84%E6%A1%88%EF%BC%88%E4%BA%8C%E7%BA%A7%EF%BC%89.docx
使用URL编码后,应能够正常访问该文件。
大家看这个url:
127.0.0.1:9997/file/江苏省地震应急预案(二级).docx
应为url路径中有中文没有转义,输入流报错
The valid characters are defined in RFC 7230 and RFC 398
下面我们对中文路径进行截取转义
int lastIndexOf = downloadUrl.lastIndexOf('/'); String fileName = downloadUrl.substring(lastIndexOf + 1); // 转义关键代码 String newFileName = URLEncoder.encode(fileName, "utf-8"); String subUrl = downloadUrl.substring(0,lastIndexOf + 1); String newUrl = subUrl + newFileName; URL url = new URL(newUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection();
补充知识:Java中URL传递中文字符成乱码,及参数转义符转换
页面使用此函数
function URLencode(sStr) { return escape(sStr). replace(/\+/g, '%2B'). replace(/\"/g,'%22'). replace(/\'/g, '%27'). replace(/\//g,'%2F'); }
处理一下url 要传的参数,这样就可以传到后台想要的特殊字符了
以上这篇java下载url路径包含中文需要转义的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。
本文共计416个文字,预计阅读时间需要2分钟。
当您尝试访问以下URL时,系统提示输入流错误,原因是路径中包含中文没有进行转义:
URL: http://127.0.0.1:9997/file/江苏省地震应急预案(二级).docx
错误提示:The valid characters are defined in RFC 7230 and RFC 3986 below. We support Chinese characters in URL paths.
为了解决这个问题,请确保URL中的中文路径使用URL编码。以下是编码后的URL:
URL: http://127.0.0.1:9997/file/%E6%B1%9F%E8%8B%8F%E7%9C%81%E5%9C%B0%E9%9C%87%E5%BA%94%E6%80%A5%E9%A2%84%E6%A1%88%EF%BC%88%E4%BA%8C%E7%BA%A7%EF%BC%89.docx
使用URL编码后,应能够正常访问该文件。
大家看这个url:
127.0.0.1:9997/file/江苏省地震应急预案(二级).docx
应为url路径中有中文没有转义,输入流报错
The valid characters are defined in RFC 7230 and RFC 398
下面我们对中文路径进行截取转义
int lastIndexOf = downloadUrl.lastIndexOf('/'); String fileName = downloadUrl.substring(lastIndexOf + 1); // 转义关键代码 String newFileName = URLEncoder.encode(fileName, "utf-8"); String subUrl = downloadUrl.substring(0,lastIndexOf + 1); String newUrl = subUrl + newFileName; URL url = new URL(newUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection();
补充知识:Java中URL传递中文字符成乱码,及参数转义符转换
页面使用此函数
function URLencode(sStr) { return escape(sStr). replace(/\+/g, '%2B'). replace(/\"/g,'%22'). replace(/\'/g, '%27'). replace(/\//g,'%2F'); }
处理一下url 要传的参数,这样就可以传到后台想要的特殊字符了
以上这篇java下载url路径包含中文需要转义的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

