远程http请求时,后缀带空格,请求报错问题(类似word文档标题中带空格)

当我们远程请求一个链接,类似:http://nbcb.ningbobank.test:8088/approve/goFile/我的  带 空格 的文档.docx?operate

的时候,我们要下载的时候,会报url错误,虽然我们在浏览器的地址栏可以访问,但是我们用方法进行读取下载的时候,就会报地址不存在的错误。

这主要是因为我们的url路径中带有空格,阻止了我们进行访问 。

要想有效的进行下载访问,我们需要将最后的"/"后面的和"."前面的进行encode编码,这样我们再进行访问下载的时候就可以进心下载了。

例如:

String  urlPath="http://nbcb.ningbobank.test:8088/approve/goFile/我的  带 空格 的文档.docx?operate";

// http://nbcb.ningbobank.test:8088/approve/goFile/

String  headPath= urlPath.subString( 0 , urlPath.lastIndexOf("/")+1);//subString进行截取的时候,不包括最后一位,所以我们要的得到最后以为“/”就要加一;

// 我的  带 空格 的文档

String  middlePath=urlPath.subString(  urlPath.lastIndexOf("/")+1,  urlPath.lastIndexOf(".") );//   "/" 和 "."一定不要截取,不然编码的时候会将其进行编码。

//   .docx?operate

String  endPath=urlPath.subString(  urlPath.lastIndexOf(".")  );

接下来我们将middlePath进行urlEncode编码。

middlePath=URLEncoder.encode(middlePath);//会将空格和中文进行编码  java.net.URLEncoder

然后我们将所有的字符串进行拼接,然后进行http请求

String  requestPath=headPath+middlePath+endPath;

我们拿到了最终请求的url,这样再进行http请求的时候,下载就不会报错了。

原文地址:https://www.cnblogs.com/songkaikai/p/10595577.html

时间: 2024-10-07 10:34:25

远程http请求时,后缀带空格,请求报错问题(类似word文档标题中带空格)的相关文章

带进度的多文件上传(支持上传.doc后缀的word文档并在线预览)

原文:带进度的多文件上传(支持上传.doc后缀的word文档并在线预览) 源代码下载地址:http://www.zuidaima.com/share/1550463556848640.htm 演示地址:http://img.zeroteam.net/     访问路径和自己工程的设置有关 如:http://localhost:8081/strutd2_fileupload/index.jsp

Java 用Freemarker完美导出word文档(带图片)

Java  用Freemarker完美导出word文档(带图片) 前言 最近在项目中,因客户要求,将页面内容(如合同协议)导出成word,在网上翻了好多,感觉太乱了,不过最后还是较好解决了这个问题. 准备材料 1.word原件 2.编辑器(推荐Firstobject free XML editor) 实现步骤 1.用Microsoft Office Word打开word原件: 2.把需要动态修改的内容替换成***,如果有图片,尽量选择较小的图片几十K左右,并调整好位置: 3.另存为,选择保存类型

多人协作时编辑word文档的一个小窍门

多人协作时编辑word文档的一个小窍门 最近在工作中编写标书时由于不同内容分给了各个部门去制作,但是在汇总后遇到再次修改的问题.对方把修改后的部分文档发给我粘贴到标书中后,所有的格式全部都乱了.重新整理格式.标题,每次导入新的文档都重复这个工作,真是低效啊.事后想想word这么高级的文档编辑工具,肯定会有解决办法吧? 解决办法一 文档合并 将每个章节划分为多个文档,文档名称命名为章节编号,然后: 我们需要新建一个word文档并对这个文档的页面进行设置,使之与要合并的其他文档的页面设置保持一致,或

将Word文档发给别人时如何限制别人只能修改文档部分内容

将Word文档发给别人时如何限制别人只能修改文档部分内容 转自:互联网.时间:2014-04-16   作者:snow   来源:互联网 在很多情况下我们都不希望别人修改我们的文档内容,特别实在将Word文档发给别人时,我们只希望别人能够在word文档中填写该填的地方,不该填写的地方只能看,不能修改.整个文档完成后就向填空题一样,只能在里面填入相关的内容,不能更改和编辑其他部分.想实现这样的功能并非难事,只需对文档中的部分内容设置保护即可,同样如果内容不需要保护,只需解除即可.  一.设置保护的

android URL中文和空格会报错解决方案

url = URLEncoder.encode(urlStr,"utf-8").replaceAll("\\+", "%20"); //encode会将空格替换为+号,所有要讲+号替换为空格的转义%20 url = url.replaceAll("%3A", ":").replaceAll("%2F", "/"); //encode会把url里的/和:这2个符号变成%

如何解决linux下apache启动时httpd: apr_sockaddr_info_get() failed for 报错

今天在家里的RHLE5.5上安装apache的时候,先用user1用户./configure命令配置,然后才用root用户make && make install,结果apache起来的时候就报如下错误: httpd: apr_sockaddr_info_get() failed for bogon httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 fo

js插件设置innerHTML时,在IE8下报错“未知运行时错误”

问题描述: 网站中使用了一个js插件,设置innerHTML时,在IE8下报错“未知运行时错误”: <div id=”divContainer”> <a name=”link”> -->报错处 第三方插件内容… </a> </div> 原因: 所设置的innerHTML的对象是一个<a>,是由于<a>的对象包容性的比较低,当浏览器运行这段脚本时,校验出了运行时错误. 解决方法: 将<a>标签替换为<div>

安装hue时,make apps 编译报错

安装hue时,make apps 编译报错 :"Error: must have python development packages for 2.6 or 2.7. Could not find Python.h. Please install python2.6-devel or python2.7-devel". Stop. yum search python | grep -i devel yum install python-devel.x86_64 原文地址:https:

Python2.7 smtplib发送带附件邮件报错STARTTLS解决方法

最近在SIOMP系统中添加一项功能时,即自动发送带附件邮件到指定邮箱时,发现在发送时报错:错误信息:STARTTLS extension not supported by server.很是奇怪,但发送无附件邮件时,可以正常发送,且不报错,前期以为是代码存在问题,如果调出对应的错误信息反馈,似乎和代码没有什么关系: 详细代码如下所示: # -*- coding: utf-8 -*- import email from email.mime.text import MIMEText from em