The Python Oracle

Using headers with the Python requests library's get method

--------------------------------------------------
Rise to the top 3% as a developer or hire one of them at Toptal: https://topt.al/25cXVn
--------------------------------------------------

Music by Eric Matyas
https://www.soundimage.org
Track title: Magic Ocean Looping

--

Chapters
00:00 Using Headers With The Python Requests Library'S Get Method
00:23 Accepted Answer Score 570
00:41 Answer 2 Score 67
01:03 Answer 3 Score 57
01:59 Answer 4 Score 15
02:23 Thank you

--

Full question
https://stackoverflow.com/questions/6260...

--

Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...

--

Tags
#python #httprequest #pythonrequests

#avk47



ACCEPTED ANSWER

Score 598


According to the API, the headers can all be passed in with requests.get():

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



ANSWER 2

Score 73


This answer taught me that you can set headers for an entire session:

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: Sessions also handle cookies.




ANSWER 3

Score 58


Seems pretty straightforward, according to the docs on the page you linked (emphasis mine).

requests.get(url, params=None, headers=None, cookies=None, auth=None, timeout=None)

Sends a GET request. Returns Response object.

Parameters:

  • url – URL for the new Request object.
  • params – (optional) Dictionary of GET Parameters to send with the Request.
  • headers – (optional) Dictionary of HTTP Headers to send with the Request.
  • cookies – (optional) CookieJar object to send with the Request.
  • auth – (optional) AuthObject to enable Basic HTTP Auth.
  • timeout – (optional) Float describing the timeout of the request.



ANSWER 4

Score 18


  1. Go to http://myhttpheader.com

  2. copy attributes - typically 'Accept-Language' and 'User-Agent'.

  3. Wrap them in the dictionary:

    headers = { 'Accept-Language' : content-copied-from-myhttpheader,
                'User-Agent':content-copied-from-myhttpheader}
    
  4. pass headers in your request

    requests.get(url=your_url,headers=headers)