python-requests user agent

Python-Requests User Agent

When making HTTP requests using Python-Requests library, a user agent is a header that is sent with the request to identify the client making the request. This header is important for servers to determine how to handle the request and also for tracking purposes. In this article, we will discuss how to set a user agent while making requests using Python-Requests library.

Setting User Agent

To set a user agent while making requests using Python-Requests library, we can simply add a 'User-Agent' header to the request. Here is an example:


import requests
  
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
  
response = requests.get('https://www.example.com', headers=headers)
print(response.content)
  

In the above example, we have added a 'User-Agent' header to the request with a value of a popular web browser. This makes the request appear as if it was made from a web browser instead of a python script.

Default User Agent

If we do not set a user agent header while making requests using Python-Requests library, then the default user agent will be used. The default user agent is 'Python-Requests/'. Here is an example:


import requests
  
response = requests.get('https://www.example.com')
print(response.request.headers['User-Agent'])
  

In the above example, we have made a request without setting a user agent header. The default user agent 'Python-Requests/' has been used.

Multiple Ways To Set User Agent

There are multiple ways to set a user agent while making requests using Python-Requests library. Some of them are:

  • Setting the user agent header using dictionary
  • Setting the user agent header using string
  • Setting the user agent header using session object

Setting User Agent Header Using Dictionary

We can set the user agent header using a dictionary as shown in the first example:


headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
response = requests.get('https://www.example.com', headers=headers)
  

Setting User Agent Header Using String

We can set the user agent header using a string as shown below:


headers = {
    'User-Agent': 'My User Agent'
}
response = requests.get('https://www.example.com', headers=headers)
  

Setting User Agent Header Using Session Object

We can also set the user agent header using a session object as shown below:


session = requests.Session()
session.headers.update({'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'})
response = session.get('https://www.example.com')
  

In this method, we have created a session object, updated the headers of the session object with the user agent header, and then made a request using the session object.