使用特殊字符从java调用url
我有一个带有特殊字符的URL,我喜欢请求它,但JAVA无法识别该URL。 URL:使用特殊字符从java调用url,java,url,character-encoding,utf8-decode,Java,Url,Character Encoding,Utf8 Decode,我有一个带有特殊字符的URL,我喜欢请求它,但JAVA无法识别该URL。 URL:http://en.wikipedia.org/w/api.php?action=query&prop=langlinks&titles=Iași&redirects=&lllimit=400(特殊字符来自单词Iași) 我的Java代码: String sWikiID="Iași"; String sArticleEncoded = URLEncoder.encode(sWikiID); String sURL
http://en.wikipedia.org/w/api.php?action=query&prop=langlinks&titles=Iași&redirects=&lllimit=400
(特殊字符来自单词Iași)
我的Java代码:
String sWikiID="Iași";
String sArticleEncoded = URLEncoder.encode(sWikiID);
String sURL = "http://" + sFromLang + ".wikipedia.org" + "/w/api.php?action=query&prop=langlinks&titles=" + sArticleEncoded + "&redirects=&lllimit=400";
URL url = new URL(sURL);
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
有什么提示吗?您没有定义什么是sFromLang,但请检查这是否适用于您:
public static void main(String[] args) throws IOException {
String sFromLang="<add the value here>";
String sWikiID="Iași";
String sArticleEncoded = URLEncoder.encode(sWikiID, "UTF-8");
String sURL = "http://" + sFromLang + ".wikipedia.org" + "/w/api.php?action=query&prop=langlinks&titles=" + sArticleEncoded + "&redirects=&lllimit=400";
URL url = new URL(sURL);
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
}
publicstaticvoidmain(字符串[]args)引发IOException{
字符串sFromLang=“”;
字符串sWikiID=“Iași”;
字符串sArticleEncoded=URLEncoder.encode(sWikiID,“UTF-8”);
String sURL=“http://”+sFromLang+”.wikipedia.org“+”/w/api.php?action=query&prop=langlinks&titles=“+sArticleEncoded+”&redirects=&lllimit=400”;
URL=新URL(sURL);
BufferedReader=新的BufferedReader(新的InputStreamReader(url.openStream(),“UTF-8”);
}
在您的请求中使用UTF-8或将ș替换为%C8%99
另外,不要使用.encode(字符串)。它已被弃用。相反,使用.encode(字符串,encode)
:)
辛迪