urllib2.build_opener()
时间: 2024-11-15 21:26:26 浏览: 3
`urllib2.build_opener()` 是 Python 中 `urllib2` 模块中的一个函数,它用于创建一个 HTTP 或者 FTP 请求处理器(opener)。这个函数通常用于设置请求处理程序的一些默认行为,比如添加认证信息、全局代理设置等。
当你需要发送网络请求时,可以首先通过 `build_opener()` 创建一个 opener 对象,然后使用它来构造具体的 Request 实例,并最终调用 `open()` 方法发起请求。例如:
```python
import urllib2
# 创建一个基本的 OpenerDirector
opener = urllib2.build_opener()
# 可以添加自定义的处理器,如 HTTPPasswordMgr 针对需要身份验证的网站
password_manager = urllib2.HTTPPasswordMgr()
password_manager.add_password('realm', 'url', 'username', 'password')
auth_handler = urllib2.HTTPBasicAuthHandler(password_manager)
opener.add_handler(auth_handler)
# 如果有全局代理设置,也可以添加 ProxyHandler
proxy_handler = urllib2.ProxyHandler({'http': 'http://proxy.example.com:8080'})
opener.add_handler(proxy_handler)
# 使用构建好的 opener 发送请求
request = urllib2.Request('http://example.com')
response = opener.open(request)
# 关闭 opener (可选操作)
response.close()
```
阅读全文