จะเข้าสู่ระบบผ่าน jsoup ได้อย่างไรในกรณีที่มีป๊อปอัป

ฉันกำลังทำงานกับแอปพลิเคชันที่ต้องเข้าสู่ระบบผ่านป๊อปอัปใน jsoup

นี่คือเพจ หลังจากเปิดมองหา หากคุณเป็นสมาชิก Nebraska.gov โปรดเข้าสู่ระบบ

ฉันไม่รู้ว่าจะต้องให้อะไรตามคำขอโพสต์ใน jsoup

นี่คือสิ่งที่ฉันได้ทำไปแล้ว

String url = "https://www.nebraska.gov/sos/ccorp/";
Connection.Response response = Jsoup
    .connect(url)
    .timeout(30000)
    .method(Connection.Method.POST)
    .userAgent(
        "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0")
    .execute();

    Document document = response.parse(); // search results

person graphics123    schedule 28.11.2015    source แหล่งที่มา


คำตอบ (1)


ไซต์นี้ใช้การตรวจสอบสิทธิ์การเข้าถึงขั้นพื้นฐาน

คุณสามารถส่งคำขอประเภทนี้ได้ดังนี้:

package com.github.davidepastore.stackoverflow33967883;

import java.io.IOException;

import org.apache.commons.codec.binary.Base64;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

/**
 * Stackoverflow 33967883 question.
 *
 */
public class App {

    public static void main(String[] args) throws IOException {
        String username = "foo";
        String password = "bar";
        String login = username + ":" + password;
        String base64login = new String(Base64.encodeBase64(login.getBytes()));
        String url = "https://www.nebraska.gov/sos/ccorp/";
        Connection.Response response = Jsoup
                .connect(url)
                .timeout(30000)
                .method(Connection.Method.GET)
                .userAgent(
                        "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0")
                .header("Authorization", "Basic " + base64login)
                .execute();

        Document document = response.parse(); // search results
    }
}

การพึ่งพาของฉันในไฟล์ pom.xml ของฉัน (commons-codec สำหรับคลาส Base64):

<dependency>
    <!-- jsoup HTML parser library @ http://jsoup.org/ -->
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.8.3</version>
</dependency>
<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.10</version>
</dependency>

คุณจะพบคำถามที่คล้ายกันได้ที่นี่

person Davide Pastore    schedule 28.11.2015
comment
ขอบคุณสำหรับคำตอบ - person graphics123; 28.11.2015