Meine Genehmigung auf der Website mit Android arbeitet nicht. Ich habe zuerst die Anfragen für die Website mithilfe der Chrome-Konsole untersucht.Meine Genehmigung auf der Website mit Android hat nicht funktioniert
Auf der Webseite https://school.proServer.ru/?next=/diary/
gibt es ein Autorisierungsfenster. Ich habe die Login- und Passwortfelder ausgefüllt und auf "Anmelden" geklickt. Chrome Konsole Info:
next =/Tagebuch/
Allgemeine
Anfrage URL:https://school.proServer.ru/?next=/diary/
anfordern Methode: POST Statuscode: 302 GEFUNDEN Remote Address: 94 ..... Referrer-Politik:. no-Referrer-when-Herabstufung
Antwortheader
Access-Control-Allow-Origin: * Cache-Control: max-age = 0 Verbindung: Keep-Alive Content-Type: text/html; charset = utf-8 Datum: So, 14 Mai 2017 17:59:37 GMT Läuft ab: So, 14 Mai 2017 17:59:38 GMT Zuletzt geändert: So, 14 Mai 2017 17:59:38 GMT Ort: https://school.proServer.ru/diary/
...
Anfrageheaders
Accept: text/html, application/xhtml + xml, application/xml; q = 0.9, image/webp, /; q = 0,8 Akzeptieren-Encoding: gzip, deflate, br Akzeptieren-Sprache: ru-RU, ru; q = 0.8, de-DE; q = 0.6, en; q = 0,4 ... Referrer: https://school.proServer.ru/?next=/diary/
Daten
csrfmiddlewaretoken: nybZEyn8GhJWV4om8TFx1uXK4iRebjKl
index_page_view-CURRENT_STEP: auth
auth-Benutzername:
myusernameAuth-Kennwort: meinkennwort
Nächste Seite in Console
Tagebuch/
Allgemeine Anforderungs-URL: https://school.proServer.ru/diary/
anfordern Methode: Den Status Code: 200 OK Remote-Adresse: 94.41.0.7: 443 Referrer-Richtlinie: no-referrer-when-downgrade
Antwort-Header Verbindung: Keep-Alive Content-Type: text/html; charset = utf-8 Set-Cookie: ...
anfordern Headers Accept: text/html, application/XHTML + xml, application/xml; q = 0,9, image/webp, /; q = 0,8 Accept-Encoding: gzip, abzulassen, br Akzeptieren-Sprache: ru-RU, ru; q = 0.8, de-DE; q = 0.6, en; q = 0.4 Cache-Steuerung: max-age = 0 Verbindung: keep-alive Cookie: ...
Mein Code (I erhalten einen Token):
try {
Connection.Response res1 = Jsoup.connect("https://school.proServer.ru")
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36")
.header("Content-Type", "application/x-www-form-urlencoded")
.data("next", "/diary/")
.method(Connection.Method.GET)
.execute();
Document welcomePage = res1.parse();
welcomCookies = res1.cookies();
Element input = welcomePage.select("input[name=csrfmiddlewaretoken]").first();
token = input.attr("value");
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("token " + token);
System.out.println("welcomCookies " + welcomCookies.toString());
Und meine Zulassung:
try {
Connection.Response res = Jsoup
.connect("https://school.proServer.ru/?next=/diary/")
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36")
.header("Content-Type", "application/x-www-form-urlencoded")
.followRedirects(true)
.header("Access-Control-Allow-Origin", "*")
.timeout(7000)
.data("auth-username", log)
.data("auth-password", pass)
.data("index_page_view-current_step", "auth")
.data("csrfmiddlewaretoken", token)
.method(Connection.Method.POST)
.cookies(welcomCookies)
.execute();
System.out.println(res.url());
}
} catch (IOException e) {
e.printStackTrace();
}
}
Fehler tritt auf:
org.jsoup.HttpStatusException: HTTP error fetching URL. Status=403, URL= https://school.proServer.ru/?next=/diary/
Bitte helfen Sie mir!
vielleicht 'next =/tagebuch /' muss codiert werden? –
Wie geht das? Wie kann ich die Anfrage korrigieren? – perepelka
'" https://school.proServer.ru/?next= "+ URLEncoder.encode ("/tagebuch/"," UTF-8 ")' –