Heim  >  Artikel  >  Backend-Entwicklung  >  Warum erhalte ich die Fehlermeldung „403 Forbidden“, wenn ich API-Aufrufe für Python-Anfragen durchführe?

Warum erhalte ich die Fehlermeldung „403 Forbidden“, wenn ich API-Aufrufe für Python-Anfragen durchführe?

Susan Sarandon
Susan SarandonOriginal
2024-11-02 03:19:30584Durchsuche

Why Am I Getting a

Fehlerbehebung bei „403 Forbidden“-Fehlern in API-Aufrufen von Python-Anfragen

Beim Versuch, Daten von einer Website mithilfe des Anforderungsmoduls von Python zu extrahieren, ist dies nicht der Fall Es kommt selten vor, dass der Fehler „403 Forbidden“ auftritt. Dieser Fehler weist darauf hin, dass der Server die Anforderung aufgrund von Zugriffsbeschränkungen nicht erfüllen kann.

Beachten Sie den folgenden Codeausschnitt:

<code class="python">import requests

url = 'http://worldagnetwork.com/'
result = requests.get(url)
print(result.content.decode())</code>

Bei der Ausführung kann dieser Code den folgenden Fehler zurückgeben:

<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>

Das Problem in diesem Fall ergibt sich aus der Tatsache, dass die Website GET-Anfragen ablehnt, denen ein richtiger User-Agent-Header fehlt. Indem wir die Seite in einem Browser (z. B. Chrome) besuchen und den Netzwerkverkehr überprüfen, können wir den vom Browser verwendeten User-Agent ermitteln.

Um den Fehler zu beheben, müssen wir den User-Agent-Header hinzufügen Rufen Sie unsere Anfragen auf:

<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>

Nachdem der User-Agent-Header hinzugefügt wurde, sollte die Anfrage nun erfolgreich den HTML-Inhalt der Website analysieren können.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „403 Forbidden“, wenn ich API-Aufrufe für Python-Anfragen durchführe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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