2017-04-09 1 views
1

Ich versuche die Python-Requests-Bibliothek zu verwenden, um mich bei einer Website anzumelden. Es ist ein ziemlich einfacher Code, und Sie können wirklich den Kern der Anfragen bekommen, nur indem Sie auf seiner Website gehen. Ich möchte jedoch überprüfen, ob ich über die URL erfolgreich angemeldet bin. Das Problem, das ich angetroffen habe, ist, wenn ich die Postanfragen initiiere und es (die Variable p) eine URL gebe, ob sich der HTML geändert hat oder nicht Ich bin immer noch die gleiche URL übergeben, wenn ich print (p.url) eintippe. Gibt es eine Möglichkeit für mich, den Browser zu aktualisieren oder die URL auf das zu aktualisieren, was aktuell eingestellt ist?Python Requests Refresh

(ich kann eine Linie zur Überprüfung der URL gegen sich selbst später hinzufügen, aber ich will jetzt nur die richtige URL bekommen)

#!usr/bin/env python3 


import requests 

payload = {'login': 'USERNAME, 
      'password': 'PASSWORD'} 

with requests.Session() as s: 
    p = s.post('WEBSITE', data=payload) 
    #print p.text 
    print(p.url) 

Antwort

1

Die usuage von python-requests kann nicht so komplex wie Sie denken. Es wird automatisch die Weiterleitung Ihres Beitrags (oder session.get()) behandeln.

Hier Rückkehr session.post() Methode eine response obejct:

r = s.post('website', data=payload) 

was bedeutet r.url aktuelle URL für Sie suchen.

Wenn Sie noch aktuelle Seite zu aktualisieren, verwenden Sie einfach:

s.get(r.url) 

Um zu überprüfen, ob Sie sich erfolgreich anzumelden haben, ist eine Lösung, die die Anmeldung in Ihrem Browser zu tun.

Basierend auf dem Titel oder Inhalt der Webseite zurückgegeben (d. H. Verwenden Sie den Inhalt in r.text), können Sie beurteilen, ob Sie es gemacht haben.

BTW, python-requests ist eine großartige Bibliothek, genießen Sie es.