你如何在Java中浏览URL?

Pen*_*ant 33 java url-encoding

当我通过URL的InputStream读取xml,然后删除除url之外的所有内容时,我得到" http://cliveg.bu.edu/people/sganguly/player/%20Rang%20De%20Basanti%20-%20Tu% 20Bin%20Bataye.mp3 ".

如你所见,有很多"%20".

我希望网址不被转义.

有没有办法在Java中这样做,而不使用第三方库?

ng.*_*ng. 58

这不是未转义的XML,这是URL编码的文本.在我看来,你想在URL字符串上使用以下内容.

URLDecoder.decode(url);
Run Code Online (Sandbox Code Playgroud)

这将为您提供正确的文本.你提供的解码结果是这样的.

http://cliveg.bu.edu/people/sganguly/player/ Rang De Basanti - Tu Bin Bataye.mp3
Run Code Online (Sandbox Code Playgroud)

%20是一个转义空格字符.为了得到上述内容,我使用了URLDecoder对象.

  • 该方法已弃用.使用URLDecoder.decode(location,"UTF-8"); (46认同)

fre*_*dev 7

URLDecoder.decode(String s) 自Java 5以来已被弃用

你应该用URLDecoder.decode(String s, String enc).

例如:

URLDecoder.decode(url, "UTF-8")
Run Code Online (Sandbox Code Playgroud)

关于要使用的编码:

注意:万维网联盟建议书规定应使用UTF-8.不这样做可能会引入不相容性.