Heim > Artikel > Backend-Entwicklung > Wie behebe ich „urllib2.HTTPError: HTTP Error 403: Forbidden' beim Herunterladen von Bestandsdaten?
403 Verboten: URL-Öffnungsfehler mit urllib2 beheben
Im Zusammenhang mit der Automatisierung von Bestandsdaten-Downloads mit Pythons urllib2 tritt ein häufiger Fehler auf, wenn Es wird versucht, eine CSV-Datei von einer bestimmten URL abzurufen. Dieses Problem manifestiert sich als „urllib2.HTTPError: HTTP-Fehler 403: Verboten“.
Um diesen Fehler zu beheben, ist es unbedingt erforderlich, die HTTP-Anfrage mit geeigneten Headern zu erweitern. Der ursprüngliche Code enthielt einen User-Agent-Header, es sind jedoch weitere Header erforderlich:
hdr = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'Accept-Encoding': 'none', 'Accept-Language': 'en-US,en;q=0.8', 'Connection': 'keep-alive'}
Das Hinzufügen dieser Header zur Anfrage behebt den Fehler 403 Forbidden. Interessanterweise kann der Fehler gemindert werden, indem nur ein zusätzlicher Header eingefügt wird, „Accept“: „text/html,application/xhtml xml,application/xml;q=0.9,/;q=0.8‘.
Das obige ist der detaillierte Inhalt vonWie behebe ich „urllib2.HTTPError: HTTP Error 403: Forbidden' beim Herunterladen von Bestandsdaten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!