Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich mich mit dem Anforderungsmodul von Python erfolgreich bei einer Website anmelden?
Anmelden bei einer Website mit Python-Anfragen: Cookies und HTTP-Autorisierung
Problem:
Ein Benutzer kann sich aufgrund von Problemen bei der Cookie-Verarbeitung nicht mit dem Requests-Modul von Python bei einer Website anmelden. Der Code nutzt „requests.post“, liefert aber falsche Ergebnisse.
Lösung:
HTTP-Autorisierung vs. Cookies
HTTP-Autorisierung Dabei werden die Anmeldeinformationen des Benutzers direkt als Teil des HTTP-Headers gesendet. Andererseits ermöglichen Cookies dem Server, den Status aufrechtzuerhalten, indem sie Informationen auf dem Computer des Clients speichern.
Korrekte Verwendung von Cookies
Im bereitgestellten Code hat der Benutzer eine erstellt Das Wörterbuch rief ck auf und übergab es als Argument an request.post. Dieses Wörterbuch sollte jedoch stattdessen als Datenparameter übergeben werden.
Korrigierter Code
ck = {'inUserName': 'USERNAME/EMAIL', 'inUserPass': 'PASSWORD'} r = requests.post(url, data=ck)
Anmeldestatus beibehalten
Um über einen längeren Zeitraum angemeldet zu bleiben, muss eine Websitzung beibehalten werden. Dies kann mithilfe einer „requests.Session“-Klasse erreicht werden. Standardmäßig erstellt Requests für jede Anfrage eine neue Sitzungsinstanz.
Vorgeschlagener Code mit Sitzung
with requests.Session() as session: login_data = {'inUserName': 'USERNAME/EMAIL', 'inUserPass': 'PASSWORD'} response = session.post(url, data=login_data) # Check login status. If successful, make subsequent requests using the same session if response.status_code == 200: safe_response = session.get('protected_url') print(safe_response.text)
Das obige ist der detaillierte Inhalt vonWie kann ich mich mit dem Anforderungsmodul von Python erfolgreich bei einer Website anmelden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!