URLConnection具有基本授权

时间:2017-02-16 17:35:50

标签: java authorization urlconnection

我试图从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();
        }

0 个答案:

没有答案