大家看这个url:
http://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路径包含中文需要转义的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
问题内容: 我的目录结构如下: script.php inc / include1.php inc / include2.php 对象/ object1.php 对象/ object2.php soap / soap.php 现在,我在和中都使用了这些对象,可以移动它们,但是出于特定的原因,我想要这样的目录结构。当执行包含路径is 和执行它时,绝对路径有效,但是如果我想将目录移动到其他位置,则这是
问题内容: 我尝试使用以下方法安装node.js模块: 但我得到这个错误: 可能正在发生这种情况,因为我使用代理服务器,但我通过这种方式设置了代理服务器,以允许从网络外部的ips下载 我希望你能帮帮我 问题答案: 从命令行设置代理。 如果仍然发生错误,请再试一次。 这些为我工作。(请参阅http://sushichop.blogspot.jp/2013/01/npm- install.html )
问题内容: 我们有一个基于NetBeans平台的NetBeans开发的应用程序。我们有一个运行时依赖的第三方程序,更具体地说是其他progams lib文件夹中的jar。 我们应该如何在类路径中包含其他progam的jar? 其他程序制造商的建议是将环境变量CLASSPATH设置为包括 如果不可能,我们应该将JAR.jar复制到 我们一定不能将JAR.jar复制到其他任何地方,否则可能会导致其停止
我在Eclipse中创建了一个Java项目,并创建了一个带有main方法的简单类。 问题:当我运行程序(没有任何服务器等)时,我收到以下错误: 线程“main”java中出现异常。lang.NoClassDefFoundError:org/apache/commons/codec/DecoderException at autoPEC。main(autoPEC.java:6)由:java引起。la
在创建spring maven rest WebService时,我得到了以下错误。当我使用postman测试OCBC api上的post请求时,它工作得很好。但是当我试图为citi执行post请求时,我得到了以下错误:servlet.service()for servlet[dispatcherServlet]上下文中的path[]抛出异常[request processing Failed;嵌
我使用Exavult提供的文件,成功地从Exavults上的文件夹下载了CSV文件,但下载会保存在Mac上的临时文件夹中。 如何定义要保存到的目录?这是脚本的摘录。 另外还有一个resources_api.py文件,它可能包含答案,但是如果我编辑它,我不确定如何调用这些更改。 任何帮助将不胜感激。