Jsoup登录以避免401 HttpStatusException

时间:2018-01-10 17:29:23

标签: java html http jsoup http-status-code-401

我正在制作一个程序,用于我的工作,从我们的HTML主屏幕中提取潜在客户信息。为此,我使用Jsoup来解析HTML文档并搜索指定的信息。当我像平常一样通过我的网络浏览器上传页面时,它会在实际连接到页面并加载页面之前提示我登录。这给Jsoup带来了问题,因为当我从连接创建Document时,它会因为没有登录而抛出HttpStatusException,因为它没有登录,因此从未被授权访问这页纸。这是我目前的代码,例如在页面上提取潜在客户的名字:

package com.brandon.MagnaScraper;

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class MagnaScraper {
    public Document getLeadPageConnection(long leadNumber) throws IOException {
        String url = MagnaUrl.LEAD.getUrl() + String.valueOf(leadNumber);
        Document doc = Jsoup.connect(url).get();
        return doc;
    }

    public Document getSurveyPageConnection(long surveyNumber) throws IOException {
        String url = MagnaUrl.SURVEY.getUrl() + String.valueOf(surveyNumber);
        Document doc = Jsoup.connect(url).get();
        return doc;
    }

    public String getName1(long leadNumber) {
        try {
            Document doc = getLeadPageConnection(leadNumber);
            Element firstNameElement = doc.select("[name=FName1]").first();
            String firstName1 = firstNameElement.attr("value");
            return firstName1;
        } catch (IOException e) {
            e.printStackTrace();
            return "Error!";
        }
    }
}

有没有办法让Jsoup输入我的登录凭据才能获得连接页面的授权?我几乎可以肯定这是HttpStatusException的原因。在此先感谢您的帮助!

0 个答案:

没有答案