Using Headers with the Python Requests Library's Get Method

Using Headers with the Python Requests Library's Get Method

So I recently stumbled upon this great library for handling HTTP requests in Python; found here .

I love working with it, but I can't figure out how to add headers to my get requests. Help?

0

4 Answers

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

import requests
r=requests.get("", headers={"Content-Type":"text"})
1

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

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(' headers={'x-test2': 'true'})

Bonus: Sessions also handle cookies.

  1. Go to

  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)
    

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Robert Thorne
Author

Robert Thorne

Robert Thorne covers electric vehicle innovations, autonomous driving systems, global mobility trends, and automotive engineering developments.