我试图从myanimelist请求中获取所有xml数据。
我在其他网址上找到了这段代码(请参阅下面的代码),这很有用。
现在,对于myanimelist,您需要一个帐户来请求查询。我尝试了不同的方法,例如在uc.setRequestProperty ("Authorization", getBasicAuthenticationEncoding());
之前和之后更改openConnection();
的位置但似乎没有任何效果。下面的代码给出了这个错误:server returned HTTP response code: 401 for URL: http
。
有人可以帮我吗? 谢谢你提前。
代码:(我使用假pwds作为示例)
System.out.println(getXMLFromUrl("https://myanimelist.net/api/anime/search.xml?q=" + "2017"));
private String getBasicAuthenticationEncoding() {
String username= "username";
String password = "mypwd";
String userPassword = username + ":" + password;
@SuppressWarnings("static-access")
String basicAuth = "Basic " + new String(new Base64().encode(userPassword.getBytes()));
return basicAuth;
}
public String getXMLFromUrl(String url) throws IOException {
URL u = new URL(url);
URLConnection uc = u.openConnection();
uc.setRequestProperty ("Authorization", getBasicAuthenticationEncoding());
InputStream in = uc.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(uc.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
sb.append(line + "\n");
}
br.close();
return sb.toString();
}