2017-08-08 17 views
0

Ich habe überall nach der Lösung gesucht, die ich suche, aber ich kann sie nicht finden. Grundsätzlich entwickle ich ein Tool, das eine Liste von URLs aus einem Textdokument aufnimmt, sich mit Ihrem Benutzernamen/Passwort anmeldet und zurückgibt, welche funktionieren.Python-Anfragen: Überprüfen, ob Login erfolgreich war

Ich habe den Login herausgefunden und alles, aber wie kann ich tatsächlich zurückkehren, wenn der Login funktioniert? Die auf der Liste eingetragenen Sites verwenden nicht unbedingt Cookies und werden auf verschiedenen Plattformen entwickelt.

Hier Anmeldungscode:

r = requests.post(action, data=values, verify=False) 
print(r.headers) 
print(r.status_code) 
print(r.content) 
print(r.url) 
sleep(1) 

ich alles mag danach erste Zeile in einer if-Anweisung sein, wenn die Anmeldung tatsächlich funktioniert, aber ich kann nicht herausfinden, wie man tatsächlich, dass bestimmen.

Danke.

+0

status_code 200 bedeutet ok –

+0

Wenn es keinen absoluten Unterschied in der Antwort zwischen einer erfolgreichen und einer fehlgeschlagenen Anmeldung gibt, macht die Serverseite wahrscheinlich etwas sehr falsches. Wenn es einen Unterschied gibt, poste bitte das Ergebnis deines Codes, der den Antwortinhalt für beide Fälle zeigt – Guillaume

Antwort

0

Statusbit wird Sie wissen lassen

r = requests.post(action, data=values, verify=False) 
authi = requests.get(r.url, auth=('user', 'pass')) 

>>> authi.status_code 
200 

Sie werden mehr Statusbit info hier

STATUS CODE DEFINITION

+0

Ich versuchte das, aber es gibt 200 zurück, ob es sich tatsächlich anmeldete oder nicht. – fdev17

+0

verwendest du django oder irgendein anderes backed? –

+0

Ich bin nicht nur die Basis Python und die folgenden Bibliotheken: Importanforderungen von BS4 Import BeautifulSoup von Zeit Import Schlaf Import urllib.parse – fdev17

0

Sie können die r.content analysieren für Sie zu überprüfen, ob Sie sich einloggen oder nicht, wie String success oder eine Flagge bedeutet, dass Sie sich einloggen. Wenn die r.content für Login-Benutzer und nicht Login-Benutzer gleich sind, können Sie einen speziellen Link anfordern, der sich anmelden und eine Flagge finden muss, um zu überprüfen.

Verwandte Themen