导入模块
import urllib3
urllib3:功能强大、条理清晰、用于HTTP客户端的python网络请求库
重要特征
1.线程安全
2.连接池
3.客户端SSL/TLS验证
4.使用分段编码长传文件
5.重试请求和处理HTTP复位的助手
6.支持gzip和deflate编码
7.HTTP和SOCKS的代理支持
8.100%的测试覆盖率
1.发起请求
导入模块
import urllib3
通过PoolManager
实例生成请求,由该实例对象处理与线程池的连接及线程安全的所有细节,不需要任何人为操作
http = urllib3.PoolManager()
http # <urllib3.poolmanager.PoolManager at 0x1ecf4917710>
通过request()
创建请求,返回一个HTTP Response对象
r = http.request('GET','https://fanyi.baidu.com/')
r # <urllib3.response.HTTPResponse at 0x1ecf7613080>
通过响应对象的data
等方法可以获取响应结果,使用decode
对返回的数据进行解码
r.data # 有乱码
r.data.decode('utf8') # 使用decode对返回的数据进行解码
import urllib3
http = urllib3.PoolManager()
r = http.request('GET','https://fanyi.baidu.com/')
r.data
r.data.decode('utf8')
request()可以通过参数控制请求的类型
传递POST参数值,该请求数据部分涵盖发送其他类型的请求的数据,包括JSON、文件和二进制数据
http = urllib3.PoolManager()
r = http.request(
'POST',
'http://httpbin.