Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以用python登录网页(aspx),但我可以';带JSoup的t_Java_Python_Http_Python Requests_Jsoup - Fatal编程技术网

Java 我可以用python登录网页(aspx),但我可以';带JSoup的t

Java 我可以用python登录网页(aspx),但我可以';带JSoup的t,java,python,http,python-requests,jsoup,Java,Python,Http,Python Requests,Jsoup,当我真正复制_VIEWSTATE和_EVENTVALIDATION时,我可以使用此代码登录系统 小心:我正在使用一个会话。如果我只使用“rq.get”(“URL”),我将无法登录。我必须使用一个始终相同的会话 import requests as rq url = "https://ogrotomasyon.uludag.edu.tr/login.aspx?un=" data = { "__EVENTTARGET" : "", "__EVENTARGUMENT" : "", "

当我真正复制_VIEWSTATE和_EVENTVALIDATION时,我可以使用此代码登录系统

小心:我正在使用一个会话。如果我只使用“rq.get”(“URL”),我将无法登录。我必须使用一个始终相同的会话

import requests as rq

url = "https://ogrotomasyon.uludag.edu.tr/login.aspx?un="
data = { "__EVENTTARGET" : "", "__EVENTARGUMENT" : "",
        "__VIEWSTATE" : "",
        "__VIEWSTATEGENERATOR" : "C2EE9ABB",
        "__EVENTVALIDATION" : "",
        "un":"USERNAME", "pw":"PASSWORD", "ok22": "Giriş"}

s = rq.Session()
a = s.get(url, verify=0)
print(a.text)
d1 = input()
d2 = input()
data["__VIEWSTATE"] = d1
data["__EVENTVALIDATION"] = d2
a = s.post(url, data=data, verify=0)
s.get(a.url)
print(a.url)
}

但我无法使用此代码登录。实际上,有时我可以,但很少有一次它“抛出java.net.UnknownHostException”


如何通过第二个代码进行连接?

我每次都可以使用第一个响应(java代码)进行连接。但是,在第二次连接时,它通常会抛出错误。您必须使用
bs4
来获取输入值,就像使用java一样。您不能对
d1
d2
使用
input()。我可以用python更轻松地编写代码,因此我编写了python代码。我的意思是python代码可以登录,但java代码不能。为什么?先试试Cookie,即
饼干()
谢谢。这就是解决方案。:)你知道为什么吗?
public static void main(String[] args) {
    try {
        Connection.Response first = Jsoup.connect("https://ogrotomasyon.uludag.edu.tr/login.aspx")
                .validateTLSCertificates(false)
                .method(Connection.Method.GET)
                .execute();


        Elements form = first.parse().select("form");
        Elements inputs = form.select("input");

        System.out.println(inputs.get(0).id() + " " + inputs.get(0).val());
        System.out.println(inputs.get(1).id() + " " + inputs.get(1).val());
        System.out.println(inputs.get(2).id() + " " + inputs.get(2).val());
        System.out.println(inputs.get(3).id() + " " + inputs.get(3).val());
        System.out.println(inputs.get(4).id() + " " + inputs.get(4).val());
        System.out.println(inputs.get(7).id() + " " + inputs.get(7).val());



        Document second = Jsoup.connect("https://ogrotomasyon.uludag.edu.tr/login.aspx")
                .validateTLSCertificates(false)
               .data(inputs.get(0).id(), inputs.get(0).val())
               .data(inputs.get(1).id(), inputs.get(1).val())
               .data(inputs.get(2).id(), inputs.get(2).val())
               .data(inputs.get(3).id(), inputs.get(3).val())
               .data(inputs.get(4).id(), inputs.get(4).val())
               .data("un", "USERNAME")
               .data("pw", "PASSWORD")
               .data(inputs.get(7).id(), inputs.get(7).val())
               .post();
        System.out.println(second.text());

    } catch (IOException e) {
        e.printStackTrace();
    }
}