这里是关于 Python urllib3 软件包的使用说明的完整攻略。
Python urllib3 软件包的使用说明
简介
Python urllib3 是一个HTTP客户端库,具有以下特性:
- 线程安全且无需全局锁定。
- 基于HTTP/1.1协议,支持长连接和连接池。
- 支持文件上传。
- 自动解码响应的gzip和deflate压缩。
- 完整支持unicode(内含字符集自动检测)。
- 支持 httplib(可以轻松替换)。
安装
urllib3 可以通过 pip 进行安装:
pip install urllib3
发送 HTTP 请求
发送 GET 请求:
import urllib3
http = urllib3.PoolManager()
response = http.request('GET', 'https://www.example.com/')
print(response.status)
print(response.data)
发送 POST 请求:
import urllib3
import json
http = urllib3.PoolManager()
headers = {'Content-Type': 'application/json'}
msg = {'name': 'John Doe', 'age': 30}
encoded_data = json.dumps(msg).encode('utf-8')
response = http.request('POST', 'https://www.example.com/api', headers=headers, body=encoded_data)
print(response.status)
print(response.data)
配置连接信息
连接池
连接池在内部自动进行管理,但可以根据需要进行自定义配置:
import urllib3
http = urllib3.PoolManager(num_pools=10, maxsize=100, retries=False)
其中:
num_pools
:连接池数量,默认为1
。maxsize
:每个连接池的最大连接数限制,默认为10
。retries
:当发生错误时是否进行重试,默认为True
。
SSL 配置
Urllib3 默认使用 SSL 验证。
import urllib3
http = urllib3.PoolManager(cert_reqs='CERT_REQUIRED', ca_certs=certifi.where())
其中 cert_reqs
指定了 SSL 的验证方法,可以设置为:
CERT_NONE
:不进行 SSL 验证CERT_OPTIONAL
:可选模式,未指定根证书时也不报错CERT_REQUIRED
:必须进行 SSL 验证
而 ca_certs
则指定了根证书文件的路径:
import urllib3
import certifi
http = urllib3.PoolManager(cert_reqs='CERT_REQUIRED', ca_certs=certifi.where())
总结
本文介绍了 Python urllib3 的基本使用,包括发送 HTTP 请求、配置连接信息。值得注意的是,在使用 urllib3 进行网络编程时,应该使用官方提供的模板,以保证网络请求调用的正确性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python urllib3软件包的使用说明 - Python技术站