我期待着
System.out.println(java.net.URLEncoder.encode("Hello World", "UTF-8"));
Run Code Online (Sandbox Code Playgroud)
输出:
Hello%20World
(20是空格的ASCII十六进制代码)
但是,我得到的是:
Hello+World
我使用了错误的方法吗?我应该使用的正确方法是什么?
我收到此错误消息:
java.net.URISyntaxException: Illegal character in query at index 31: http://finance.yahoo.com/q/h?s=^IXIC
Run Code Online (Sandbox Code Playgroud)
My_Url = http://finance.yahoo.com/q/h?s=^IXIC
当我将它复制到浏览器地址字段时,它显示正确的页面,它是有效的URL,但我不能解析它:new URI(My_Url)
我试过了My_Url=My_Url.replace("^","\\^"),但是
怎么办呢?
坦率
我正在使用XML解析显示来自URL的图像,并且一些图像显示得非常好,但有时我会得到例外
索引113路径中的非法字符:http://www.theblacksheeponline.com/party_img/thumbspps/12390867930_15951_186997180114_709920114_4296270_6115611_n[1].jpg
如何解决这个问题,请提供一些示例代码...
java.net.URI.create("http://adserver.adtech.de/adlink|3.0")
Run Code Online (Sandbox Code Playgroud)
投
java.net.URISyntaxException:
Illegal character in path at index 32: http://adserver.adtech.de/adlink|3.0
Run Code Online (Sandbox Code Playgroud)
虽然
new java.net.URL("http://adserver.adtech.de/adlink|3.0")
Run Code Online (Sandbox Code Playgroud)
工作得很好.
更新1
虽然
new org.apache.commons.httpclient.URI("http://adserver.adtech.de/adlink|3.0")
Run Code Online (Sandbox Code Playgroud)
也很完美.
什么原因?