小编Vis*_*ish的帖子

URISyntaxException - 如何使用%处理网址

我是Java的新手,遇到了这个问题.我尝试过搜索但从未得到正确的答案.

我有一个字符串例如

String name = anything 10%-20% 04-03-07
Run Code Online (Sandbox Code Playgroud)

现在我需要建立一个带有这个String名称的url字符串,如下所示.

http://something.com/test/anything 10%-20% 04-03-07
Run Code Online (Sandbox Code Playgroud)

我尝试用%20替换空格,现在我得到了新的URL

http://something.com/test/anything%2010%-20%%2004-03-07
Run Code Online (Sandbox Code Playgroud)

当我使用这个url并在firefox中启动它时它工作正常但是在用Java处理它显然是在抛出

Exception in thread "main" java.lang.IllegalArgumentException
at java.net.URI.create(Unknown Source)
at org.apache.http.client.methods.HttpGet.<init>(HttpGet.java:69)
Caused by: java.net.URISyntaxException: Malformed escape pair at index 39 : 
at java.net.URI$Parser.fail(Unknown Source)
at java.net.URI$Parser.scanEscape(Unknown Source)
at java.net.URI$Parser.scan(Unknown Source)
at java.net.URI$Parser.checkChars(Unknown Source)
at java.net.URI$Parser.parseHierarchical(Unknown Source)
at java.net.URI$Parser.parse(Unknown Source)
at java.net.URI.<init>(Unknown Source)
... 6 more
Run Code Online (Sandbox Code Playgroud)

这是代码抛出错误

HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
Run Code Online (Sandbox Code Playgroud)

url http-get

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

http-get ×1

url ×1