Home  >  Article  >  Backend Development  >  How to use the urllib2 module to send HTTP requests in Python 2.x

How to use the urllib2 module to send HTTP requests in Python 2.x

王林
王林Original
2023-07-31 17:30:311493browse

How to use the urllib2 module to send HTTP requests in Python 2.x

Introduction:
In Python, we can use the urllib2 module to send HTTP requests. It is a module in the Python standard library that can be used to create request objects, add header information, send requests, and process response results. In this article, we will introduce in detail how to use the urllib2 module to send HTTP requests and give corresponding code examples.

  1. Install the urllib2 module
    Since the urllib2 module is part of the Python standard library, it does not need to be installed separately. You only need to ensure that the Python environment is normal to use the urllib2 module.
  2. Send GET request
    Sending a GET request is one of the most common HTTP request methods. We can use the urllib2.urlopen() function to send a GET request and get the response result.

Code example:

import urllib2

# 发送GET请求
url = 'http://www.example.com'
response = urllib2.urlopen(url)

# 获取响应结果
result = response.read()

# 输出响应结果
print(result)

In the above code, we first send a GET request using the urllib2.urlopen() function and save the response result in the response variable. Then, we use the response.read() method to get the response result and save the result in the result variable. Finally, we use the print() function to output the response results.

  1. Send a POST request
    Compared with sending a GET request, sending a POST request requires adding some additional information to the request header, such as Content-Type and Content-Length. We can use the urllib2.Request() function to create a request object and pass the data of the POST request by specifying the data parameter.

Code example:

import urllib2
import urllib

# 发送POST请求
url = 'http://www.example.com'
data = {'key1': 'value1', 'key2': 'value2'}
data = urllib.urlencode(data)
request = urllib2.Request(url, data=data)
response = urllib2.urlopen(request)

# 获取响应结果
result = response.read()

# 输出响应结果
print(result)

In the above code, we first define a data dictionary, which contains the POST data to be transmitted. We then use the urllib.urlencode() function to encode the data into URL format. Next, we use the urllib2.Request() function to create a request object and pass the data of the POST request by specifying the data parameter. Finally, we pass the request object into the urllib2.urlopen() function to send the request, and obtain the response result through the response.read() method.

  1. Custom request header information
    Sometimes, we need to add custom request header information when sending an HTTP request. We can use the headers parameter of the urllib2.Request() function to add custom request header information.

Code example:

import urllib2

# 发送带有自定义请求头的GET请求
url = 'http://www.example.com'
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.3   6'}
request = urllib2.Request(url, headers=headers)
response = urllib2.urlopen(request)

# 获取响应结果
result = response.read()

# 输出响应结果
print(result)

In the above code, we define a headers dictionary, which contains custom request header information. Then, we add custom request header information to the request through the headers parameter of the urllib2.Request() function.

Conclusion:
By using the urllib2 module, we can easily send HTTP requests and obtain the response results. In this article, we use sample code to introduce in detail how to send GET requests and POST requests, and how to add custom request header information. I hope this content can help you send HTTP requests in Python.

The above is the detailed content of How to use the urllib2 module to send HTTP requests in Python 2.x. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn