[파이썬] requests 커스텀 헤더 전송하기

Requests Logo

When making HTTP requests using Python, the Requests library is a popular choice due to its simplicity and versatility. Requests provides an easy-to-use API for sending HTTP/1.1 requests. It allows you to add custom headers to your requests, which can be useful for various purposes such as authentication, content negotiation, or customizing API calls.

In this blog post, we will explore how to send custom headers using the Requests library in Python. Let’s get started by installing the library:

pip install requests

Now that we have Requests installed, let’s see how to send custom headers in our HTTP requests:

Basic Syntax for Sending Custom Headers

To send custom headers with a request, we need to pass a dictionary containing the headers as the headers parameter in the request function. Each key-value pair in the dictionary represents a header field and its value.

Here’s an example demonstrating the basic syntax:

import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36',
    'Authorization': 'Bearer <access_token>'
}

response = requests.get('https://api.example.com/users', headers=headers)

In the above example, we set two custom headers User-Agent and Authorization in the headers dictionary. The User-Agent header specifies the user agent string of the client making the request, while the Authorization header is used for authentication purposes, typically with a bearer token.

Common Custom Headers

Let’s take a look at some common custom headers that you might come across when working with web APIs:

1. User-Agent

The User-Agent header allows the client to identify itself to the server. It informs the server about the client’s operating system, web browser, and other relevant details. The value of this header can be set to mimic a specific client or to perform user agent-based content negotiation.

2. Authorization

The Authorization header is used for authentication purposes. It typically carries an access token, API key, or any other credentials required to authenticate the client making the request.

3. Content-Type

The Content-Type header specifies the media type of the request body or response payload. It is used to indicate the format of the data being sent or received. Common values for this header include application/json, application/xml, multipart/form-data, etc.

4. Accept

The Accept header is used to specify the media types that the client can handle in the response. It provides a list of acceptable content types for the response payload. Servers can use this header for content negotiation to determine the best representation to send back to the client.

Conclusion

In this blog post, we have learned how to send custom headers using the Requests library in Python. Custom headers play a vital role in various aspects of web development, such as authentication, content negotiation, and API customization. By utilizing custom headers effectively, we can enhance the functionality and security of our applications.

Remember to always refer to the API documentation or any specific requirements for the API you’re working with to determine the necessary custom headers to include in your requests. Happy coding!

References: