Verwenden von Headern mit der get-Methode der Python-Anforderungsbibliothek


Antworten:


279

Laut API können die Header alle mit request.get übergeben werden:

r=requests.get("http://www.example.com/", headers={"content-type":"text"})

14
Sie können den http-Anforderungsheader überprüfen, der gesendet wird, indem Folgendes ausgeführt wird: print (r.request.headers)
nono

2
@Breedly Richtiger Ort, richtige Zeit. Geschichte meines Lebens: bemerkenswert viel Glück kombiniert mit einer Menge harter Arbeit.
Cwallenpoole

36

Scheint ziemlich einfach zu sein, laut den Dokumenten auf der Seite, die Sie verlinkt haben (Hervorhebung von mir).

request.get (url, params = Keine, Header = Keine, Cookies = Keine, auth = Keine, Timeout = Keine)

Sendet eine GET-Anfrage. Gibt das ResponseObjekt zurück.

Parameter:

  • url - URL für das neue RequestObjekt.
  • params - (optional) Wörterbuch der GET-Parameter, die mit dem gesendet werden sollen Request.
  • Header - (optional) Wörterbuch der HTTP-Header, die mit dem gesendet werden sollen Request.
  • Cookies - (optional) CookieJar-Objekt, das mit dem gesendet werden soll Request.
  • auth - (optional) AuthObject zum Aktivieren der grundlegenden HTTP-Authentifizierung.
  • Timeout - (optional) Float, das das Timeout der Anforderung beschreibt.

3
Danke, aber ich weiß nicht viel über die Syntax von Python. Nur eine Art Lernen. Das nächste Mal tun Sie so, als wüsste ich nichts und habe die API wie der Typ oben gelesen.
Breedly

2
Es gibt Tippfehler im Dokumentationslink oder der Link ist tot. Hier ist der neue docs.python-requests.org/en/latest/api
Mutant

28

Diese Antwort hat mich gelehrt, dass Sie Header für eine gesamte Sitzung festlegen können:

s = requests.Session()
s.auth = ('user', 'pass')
s.headers.update({'x-test': 'true'})

# both 'x-test' and 'x-test2' are sent
s.get('http://httpbin.org/headers', headers={'x-test2': 'true'})

Bonus: Sitzungen behandeln auch Cookies.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.