Heim > Artikel > Backend-Entwicklung > Wie behebe ich „403 Forbidden“-Fehler in Python-Anfragen?
Beim Versuch, eine Website mithilfe der Python-Request-Bibliothek zu analysieren, kann es zu einem „403 Forbidden“-Fehler kommen . Dieser Fehler weist normalerweise darauf hin, dass der Server Ihre Anfrage aufgrund fehlender Autorisierung oder Erlaubnis abgelehnt hat.
Bedenken Sie den folgenden Code:
<code class="python">url = 'http://worldagnetwork.com/' result = requests.get(url) print(result.content.decode())</code>
Dieser Code versucht, den Inhalt der angegebenen URL abzurufen und zu dekodieren. Es wird jedoch die folgende Ausgabe erzeugt:
<code class="html"><html> <head><title>403 Forbidden</title></head> <body bgcolor="white"> <center><h1>403 Forbidden</h1></center> <hr><center>nginx</center> </body> </html></code>
In diesem speziellen Fall tritt das Problem auf, weil der Server GET-Anfragen ohne User-Agent-Header ablehnt. Ein User-Agent-Header identifiziert den Browser oder die Anwendung, die die Anfrage sendet, was dem Server hilft, zu bestimmen, wie die Anfrage verarbeitet werden soll.
Um dieses Problem zu beheben, geben Sie explizit einen User-Agent-Header an in Ihrer Anfrageanfrage. Hier ist ein Beispiel:
<code class="python">import requests url = 'http://worldagnetwork.com/' headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'} result = requests.get(url, headers=headers) print(result.content.decode())</code>
Indem Sie den User-Agent-Header auf einen geeigneten Wert setzen, können Sie effektiv einen Browser nachahmen und den Inhalt der Website erfolgreich abrufen, wie die folgende Ausgabe zeigt:
<code class="html"><!doctype html> <!--[...]--> <!--[...]--></code>
Das obige ist der detaillierte Inhalt vonWie behebe ich „403 Forbidden“-Fehler in Python-Anfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!