Heim > Backend-Entwicklung > Python-Tutorial > Wie behebe ich „403 Forbidden'-Fehler in Python-Anfragen?

Wie behebe ich „403 Forbidden'-Fehler in Python-Anfragen?

DDD
Freigeben: 2024-11-01 17:04:03
Original
543 Leute haben es durchsucht

How to Fix

Beheben von „403 Forbidden“-Fehlern in API-Aufrufen mithilfe von 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.

Fehlerbeispiel

Bedenken Sie den folgenden Code:

<code class="python">url = 'http://worldagnetwork.com/'
result = requests.get(url)
print(result.content.decode())</code>
Nach dem Login kopieren

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>
Nach dem Login kopieren

Ursache

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.

Lösung

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage