Skip to main content

Sending Request Headers

In our online interactions, headers play a crucial role in HTTP requests and responses. They provide essential information about the request or response, such as indicating the requested content type, the software running on the server, or setting cookies and other preferences. In this tutorial, we'll explore how to send request headers using the Python requests library.

What Are Headers?

Headers are key-value pairs sent ahead of the body content. They define operating parameters of an HTTP transaction. For example, the Content-Type header indicates the media type of the resource, and the User-Agent header communicates the client software's application type, operating system, software vendor, or version to the server.

Sending Headers with Python Requests

Let's dive into how you can send headers using the requests library in Python.

import requests

url = 'https://httpbin.org/get'
headers = {'User-Agent': 'my-app/0.0.1'}

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

print(response.json())

In this code snippet, we're sending a GET request to httpbin.org/get with a custom User-Agent header.

Reading the Headers of a Response

Not only can we send headers, but we can also read the headers that come back in the response.

import requests

response = requests.get('https://httpbin.org/get')

print(response.headers)

This will print out a dictionary of the headers received from the server.

Commonly Used Request Headers

Here are a few commonly used request headers:

  • User-Agent: Contains a characteristic string that allows the network protocol peers to identify the application type, operating system, and software version of the requesting software user agent.
  • Accept: Informs the server about the types of data that can be sent back.
  • Cookie: Sends cookies from the user to the server.
  • Content-Type: Indicates the media type of the resource.

Conclusion

Headers provide crucial information in HTTP transactions, and the Python requests library offers easy-to-use methods for handling these headers. Understanding headers can help debug issues you may encounter and build more efficient applications.

In the next tutorial, we'll take a closer look at how to handle cookies with requests, which are another vital component of HTTP requests and responses.


If you have any questions or need further clarification, feel free to ask!