Java:下载url中带有特殊字符的web内容
我正在下载网页内容,但地址有特殊字符。例如,它在Java:下载url中带有特殊字符的web内容,java,download,Java,Download,我正在下载网页内容,但地址有特殊字符。例如,它在myUrl中包含单词adiós。我正在使用下面的代码,但没有成功。你有什么建议吗?谢谢 String myUrl="http://www.somethingxxxxx.com/adiós"; URLConnection yc = new URL(myUrl).openConnection(); BufferedReader in = new BufferedReader(new InputStreamReader(
myUrl
中包含单词adiós
。我正在使用下面的代码,但没有成功。你有什么建议吗?谢谢
String myUrl="http://www.somethingxxxxx.com/adiós";
URLConnection yc = new URL(myUrl).openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
yc.getInputStream()));
使用类而不是java.netURL使用类而不是java.netURL您只需要在使用URL之前对其进行编码。为此,您可以尝试以下方法:
try {
String base = "http://www.somethingxxxxx.com/";
String toEncode = "adiós";
String myEncodedUrl = base + URLEncoder.encode( toEncode, "UTF-8" );
URLConnection yc = new URL(myEncodedUrl).openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
yc.getInputStream()));
} catch ( UnsupportedEncodingException exc ) {
exc.printStackTrace();
} catch ( IOException exc ) {
exc.printStackTrace();
}
您只需要在使用URL之前对其进行编码。为此,您可以尝试以下方法:
try {
String base = "http://www.somethingxxxxx.com/";
String toEncode = "adiós";
String myEncodedUrl = base + URLEncoder.encode( toEncode, "UTF-8" );
URLConnection yc = new URL(myEncodedUrl).openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
yc.getInputStream()));
} catch ( UnsupportedEncodingException exc ) {
exc.printStackTrace();
} catch ( IOException exc ) {
exc.printStackTrace();
}