`
lbyzx123
  • 浏览: 481845 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

url中的参数含有空格,导致请求失败的问题

    博客分类:
  • J2EE
 
阅读更多

今天写了个程序,代码如下:

public class Test {

/**
* @param args
*/
public static void main(String[] args) throws Exception {
String urlStr = "
http://localhost:8080/bhtsys/index.jsp?name=1 中华人民共和国";
URL url = new URL(urlStr);
URLConnection hpCon = url.openConnection();
InputStream in = hpCon.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line = "";
while ((line = br.readLine()) != null) {
System.out.println(line);
}

}

}

 

index.jsp页面如下:

<body bgcolor="red">
中华人民共和国
<%
String name=request.getParameter("name");
name=new String(name.getBytes("iso-8859-1"),"UTF-8");
out.println(name);
%>
</body>

 

一运行报如下错误:

 

 

Exception in thread "main" java.io.IOException: Server returned HTTP response code: 505 for URL: http://localhost:8080/bhtsys/index.jsp?name=1 中华人民共和国
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1313)
at com.bhtec.action.Test.main(Test.java:19)

于是到网上查一下:

原来是参数中有空格导致的,解决方法为:1、用+或者%20代替url参数中的空格。2、或者在提交参数时对url使用js中encodeURIComponent函数。 代码如下:

 

public class Test {

/**
* @param args
*/
public static void main(String[] args) throws Exception {
String urlStr = "
http://localhost:8080/bhtsys/index.jsp?name=1 中华人民共和国";
urlStr=urlStr.replace(" ", "%20");
URL url = new URL(urlStr);
URLConnection hpCon = url.openConnection();
InputStream in = hpCon.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line = "";
while ((line = br.readLine()) != null) {
System.out.println(line);
}

}

分享到:
评论
1 楼 kid_ren 2012-12-05  
很有用,学习了

相关推荐

    解决Python 爬虫URL中存在中文或特殊符号无法请求的问题

    但是,中文字符和一些特殊符号在URL中有特殊的编码含义,直接使用会导致请求失败或服务器无法正确解析。为了解决这个问题,Python的urllib.parse模块提供了解决方案。具体来说,我们可以使用quote函数来对URL进行...

    关于附件上传文件名包含特殊字符的问题解决办法

    因此,如果文件名中包含这些特殊字符,就可能导致下载失败。 #### 解决方案一:不容许用户上传包含特殊字符的文件 **实现思路**:在前端上传文件之前,通过正则表达式等方式对文件名进行校验,确保不含有特殊字符。...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的...

    Fckeditor 漏洞最新整理.

    3. **目录遍历**:通过操纵请求参数,攻击者可以浏览服务器上的任意目录。 4. **文件上传**:Fckeditor在处理文件上传时可能存在漏洞,允许上传恶意文件。 5. **特殊字符绕过**:上传过程中可能会遇到文件名被篡改的...

    ExtAspNet_v2.3.2_dll

    -修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的...

Global site tag (gtag.js) - Google Analytics