尝试打开需要身份验证Java的网页时出现空指针异常

时间:2017-11-06 17:59:28

标签: java parsing authentication url

我正在尝试编写一个代码,该代码将打开需要身份验证的多个网址,并解析网页文本以获取SUCCESS消息。如果我在身份验证弹出窗口中提供用户名和密码,则其余部分将在不必每次都提供身份验证的情况下完成。现在,我的身份验证类看起来像这样:

public class CustomAuthenticator extends Authenticator {
    protected PasswordAuthentication getPasswordAuthentication() {
        String username = "********";
        String password = "********";
        return new PasswordAuthentication(username, password.toCharArray());
    }
}

我的网址解析方法是:

public static String urlSuccessUnknown(String url) {
        Document doc;
        String res = null;
        Authenticator.setDefault(new CustomAuthenticator());
        try {
            doc = Jsoup.connect(url).get();
            res = doc.body().text();
            if(res.indexOf("SUCCESS") >= 0)
                return "SUCCESS";
            else if(!(res.indexOf("SUCCESS") >= 0))
                return "FLAG";
        } 
        catch (Exception e) { e.printStackTrace(); }
        return "Unable to correctly parse";
    }

每当我用一个URL测试时,我会收到一个" java.lang.NullPointerException"在第#34; res = doc.body()。text();"和我的代码的其他部分中的另外两行。我做错了什么?

此外,当网页打开时,它会在弹出窗口中询问用户名和密码,而不是嵌入页面中。我只想包含这个,以防CustomAuthenticator不是提供用户名和密码的正确方法。谢谢你的时间。

0 个答案:

没有答案