引言urllib2 是 Python 标准库中的一个模块,用于处理网络请求。它提供了丰富的功能,包括打开 URL、发送请求、处理响应等。在 Python 3 中,urllib2 被重命名为 urlli...
urllib2 是 Python 标准库中的一个模块,用于处理网络请求。它提供了丰富的功能,包括打开 URL、发送请求、处理响应等。在 Python 3 中,urllib2 被重命名为 urllib.request。然而,在 Python 2 中,urllib2 仍然是主要的网络请求模块。
要在 Python 代码中使用 urllib2,首先需要导入该模块。这可以通过以下方式完成:
import urllib2或者,如果你想要从 urllib2 中导入特定的类或函数,可以使用以下方式:
from urllib2 import urlopen, Request, HTTPErrorurlopen 函数是 urllib2 中最常用的函数之一,用于打开 URL 并返回一个可以读取内容的对象。
response = urllib2.urlopen('http://www.example.com')这段代码会打开 http://www.example.com 并将返回的内容赋值给 response 变量。
Request 类可以用来创建一个 HTTP 请求。你可以使用这个类来指定请求的 URL、方法(如 GET 或 POST)、头部信息等。
req = Request('http://www.example.com')
req.add_header('User-Agent', 'Mozilla/5.0')
response = urllib2.urlopen(req)在这个例子中,我们创建了一个指向 http://www.example.com 的请求,并添加了一个 User-Agent 头部,模拟一个浏览器请求。
一旦你打开了 URL 或发送了请求,你可以通过以下方式处理响应:
data = response.read()
print(data)这段代码会读取响应的内容并将其打印出来。
status = response.getcode()
print(status)这个函数会返回 HTTP 响应的状态码,例如 200 表示成功,404 表示未找到。
headers = response.getheaders()
print(headers)这个函数会返回一个包含所有头部信息的列表。
urllib2 提供了 HTTPError 类来处理 HTTP 错误。
try: response = urllib2.urlopen(req) data = response.read()
except HTTPError, e: print('The server couldn\'t fulfill the request.') print('Error code: %d' % e.code)在这个例子中,如果服务器返回了一个错误(例如,404 或 500),HTTPError 异常会被触发,并打印出错误信息。
urllib2 是 Python 中处理网络请求的一个强大工具。通过使用 urlopen、Request 和 HTTPError,你可以轻松地发送请求、处理响应,并处理可能出现的错误。尽管在 Python 3 中已被重命名,但 urllib2 在 Python 2 中仍然是一个非常有用的模块。