request模块使用大全
一、Request模块
虽然Python的标准库中urllib模块已经包含了平时我们使用的大多数功能,但是它的API使用起来让人感觉不太好,而Request自称“HTTP for Humans”,说明使用更简洁方便。
Request继承了urllib的所有特性。Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定相应内容的编码,支持国际化的URL和POST数据自动编码
二、基本GET请求(headers参数和parmas参数)
1.最基本的GET请求可以直接用get方法
import requests
request=requests.get(‘http://www.baidu.com/’)
2.添加headers和查询参数
如果想添加headers,可以传入headers参数来增加请求头中的headers信息。如果要将参数放在url中传递,可以利用params参数。
response返回的是对象需要在后面使用text或者content来解析内容, 如response.text/content.decode(‘utf-8’)
使用text时,Request会极域HTTP响应的文本编码自动解码响应内容,大多数Unicode字符集都是能被无缝的解码
使用content时,返回的是服务器响应数据的原始二进制字节流,可以用来保存图片等二进制文件。
三、基本POST请求(data参数)
1.最基本的POST请求可以直接用post方法
response = request.post(‘http://www.baidu.com/’,data = data)
2.传入data参数
对于POST请求来说,我们一般需要为它增加一些参数。那么最基本的传参方法可以利用data这个参数。
四、代理(proxy参数)
如果需要使用代理,可以通过为任意请求方式提供proxies参数来配置单个请求:
respones = requests.request(“get”,“https://www.baidu.com”,proxies = proxies)
代理是以键值对形式输入,一个http,一个https,如:
proxies = {“http”:“http://121.34.567.89:1314”,
“https”:“https://89.34.567.121:4646”}
五、处理HTTPS请求SSL证书验证
Requests也可以为HTTPS请求验证SSL证书:
要想检查某个主机的SSL证书,你可以使用verify参数(verify 是设置为True,选项 verify 仅应用于主机证书,改为FALSE忽略对 SSL 证书的验证)
requests是一个相当强大的库,完全满足如今网络的需求,好好使用。
以上,加油吧,最后看看官网网址的霸气(骚气)的HTML主页。