Heim >Backend-Entwicklung >Python-Tutorial >Wie behebt man „urllib2.HTTPError: HTTP Error 403: Forbidden' beim Herunterladen historischer Bestandsdaten?

Wie behebt man „urllib2.HTTPError: HTTP Error 403: Forbidden' beim Herunterladen historischer Bestandsdaten?

Susan Sarandon
Susan SarandonOriginal
2024-11-09 20:10:021061Durchsuche

How to Fix

HTTP-verbotener Fehler beim Herunterladen historischer Bestandsdaten mit urllib2

Fehler:

"urllib2 .HTTPError: HTTP-Fehler 403: Verboten“

Erste Versuche:

Nachdem dieser Fehler beim Herunterladen historischer Bestandsdaten aufgetreten ist, wurden mehrere Schritte zur Fehlerbehebung unternommen, darunter:

  • Benutzeragenten ändern
  • Antwortcookies akzeptieren

Diese Versuche waren jedoch erfolglos.

Lösung:

Um den Fehler zu beheben, wurden der Anfrage zusätzliche HTTP-Header hinzugefügt. Der folgende Code demonstriert den aktualisierten Ansatz:

import urllib2,cookielib

site= "http://www.nseindia.com/live_market/dynaContent/live_watch/get_quote/getHistoricalData.jsp?symbol=JPASSOCIAT&fromDate=1-JAN-2012&toDate=1-AUG-2012&datePeriod=unselected&hiddDwnld=true"
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'}

req = urllib2.Request(site, headers=hdr)

try:
    page = urllib2.urlopen(req)
except urllib2.HTTPError, e:
    print e.fp.read()

content = page.read()
print content

Erklärung:

Durch das Hinzufügen der zusätzlichen Header, insbesondere „Accept“, konnte die Anfrage die CSV-Datei ohne abrufen Es wird der Fehler „HTTP-Fehler 403: Verboten“ angezeigt.

Das obige ist der detaillierte Inhalt vonWie behebt man „urllib2.HTTPError: HTTP Error 403: Forbidden' beim Herunterladen historischer Bestandsdaten?. 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