Server returned HTTP response code: 505 问题解决

1、问题

在使用URL 读取http流时,出现505异常:

Server returned HTTP response code: 505
而将URL拷贝到浏览器地址栏中,却可以正常访问。

		
		String sUrl = baseUrl + "param1=" + productName+ "&type=" + dataType;
		URL url = new URL(sUrl);
		InputStream is = url.openStream(); 


2、分析

经检查,发现时URL的参数带有空格时,抛出的该异常,即上传参数productName的值形如:xxxxxx   xxxxxxx"。

3、解决

解决办法:

对可能含有空格字符的参数进行URL编码,使用java.net.URLEncoder类的的enchode()方法对字符串进行编码。

修改后的代码如下:


		String pn = URLEncoder.encode(productName, "utf-8");
		String sUrl = baseUrl + "param1=" + pn + "&type=" + dataType;
		URL url = new URL(sUrl);
		InputStream is = url.openStream(); 
问题解决。


posted @ 2017-03-17 10:02  hongweigg  阅读(303)  评论(0)    收藏  举报