Python网络编程中urllib2模块的用法总结

  • Post category:http

以下是关于“Python网络编程中urllib2模块的用法总结”的完整攻略:

简介

urllib2是Python中用于发送HTTP请求的标准库之一。它可以用于发送GET、POST、PUT、DELETE等请求,并支持HTTP认证、Cookie、代理等功能。本文将总结urllib2的用法,包括发送GET、POST请求、设置请求头、处理响应等。

发送GET请求

使用urllib2发送GET请求非常简单,只需要调用urllib2.urlopen()方法即可。以下是一个示例:

import urllib2

response = urllib2.urlopen('http://example.com/')
html = response.read()
print(html)

在这个示例中,我们发送了一个GET请求到http://example.com/,并读取了响应的HTML内容。

发送POST请求

使用urllib2发送POST请求也很简单,只需要在urllib2.Request()方法中指请求方法为POST,并传递POST数据即可。以下是一个示例:

import urllib
import urllib2

url = 'http://example.com/login'
values = {'username': 'user', 'password': 'pass'}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
html = response.read()
print(html)

在这个示例中,我们发送了一个POST请求到http://example.com/login,并传递了用户名和密码。

设置请求头

有时候需要设置请求头,比如设置User-Agent、Referer等。可以通过urllib2.Request()方法的headers参数来设置请求头。以下是一个示例:

import urllib2

url = 'http://example.com/'
headers = {'User-Agent': 'Mozilla/5.0'}
req = urllib2.Request(url, headers=headers)
response = urllib2.urlopen(req)
html = response.read()
print(html)

在这个示例中,我们设置了User-Agent请求头,模拟了Mozilla浏览器发送请求。

处理响应

使用urllib2发送请求后,可以通过response对象来获取响应信息,包括响应状态码、响应头、响应内容等。以下是一个示例:

import urllib2

response = urllib2.urlopen('http://example.com/')
print(response.getcode())
print(response.info())
html = response.read()
print(html)

在这个示例中,我们获取了响应的状态码、响应头和响应内容。

结论

本文总结了urllib2的用法,包括发送GET、POST请求、设置请求头、处理响应等。提供了四个示例,分别是发送GET请求、发送POST请求、设置请求头和处理响应。在实际应用中,需要根据具体情况选择合适的方法来发送HTTP请求。