网站友情链接交易平台,代码做网站图片怎么插,群晖wordpress升级5.0,仿站● requests介绍及安装
● requests原理及源码介绍
● 使用requests发送请求
● 使用requests处理响应
● get请求参数
● 发送post请求参数
● 请求header设置
● cookie的处理
● https证书的处理
● 文件上传、下载
requests介绍
● requests是python第三方的HTT…
● requests介绍及安装
● requests原理及源码介绍
● 使用requests发送请求
● 使用requests处理响应
● get请求参数
● 发送post请求参数
● 请求header设置
● cookie的处理
● https证书的处理
● 文件上传、下载
requests介绍
● requests是python第三方的HTTP模块库。
● 它基于urllib又比urllib更加简单高效。
● 支持Get、Post、Put、Delete、Head、Options等HTTP请求。
工具jmeterpostmansoupui等
框架robot framework等
编程urllibhttpclient
requests安装
python编程环境准备python3.6pycharm
通过pip工具在线安装
pip install requests
pip install -i https://mirrors.aliyun.com/pypi/simple/ requests
● 安装验证
查看requests版本信息
pip show requests
pycharm中导入模块正常import requests
requests工作原理及源码介绍 请求方法
requests.get(url, paramsNone, **kwargs) # get请求
requests.post(url, dataNone, jsonNone, **kwargs) # post请求
requests.request(method, url, **kwargs) # 通用请求
requests-get请求
get请求特点
请求参数在url中键值对形式。
response requests.get(url)
response requests.get(url, paramsNone)
response requests.get(url, paramsNone, **kwargs)
requests-post请求
post请求特点
请求参数在bady中键值对形式。
response requests.post(url, dataNone)
response requests.post(url, jsonNone)
response requests.post(url, dataNone, **kwargs)
▲ requests-可选参数
request请求参数
● params字典等类型最终添加到请求url中的参数
● data字典等类型最终添加到请求body中的参数
● json一个json格式的序列化的Python对象
● headers字典等类型请求的header
● cookies字典类型请求的cookie
● files字典类型向服务器传输文件
● auth: 元组HTTP鉴权信息
● verify布尔值是否验证server的TSL证书
● timeout数值设定超时时间
● allow_redirects布尔值是否运行重定向
● stream布尔值响应内容是否直接下载
▲ requests-Response对象
requests的方法会返回Response对象即响应对象
response requests.get(url, paramsNone, **kwargs) #
响应对象的属性和方法
● response.status_code #获取响应结果码
● response.encoding #获取响应的编码格式
● response.headers #获取响应头
● response.content #获取二进制形式响应内容
● response.text #获取字符串形式响应内容
● response.json() #获取json格式响应内容
● response.url #获取请求的url
▲ requests-header参数
request请求header参数
字典格式可以放user-agent, cookie等内容参考浏览器的header
发送请求时需要带user-agent信息
headers {User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105
Safari/537.36}
response requests.get(url, headersheader)
▲ requests-cookies参数
request请求cookies参数
字典格式可以放多个cookie数据name:value
发送请求时需要带cookie信息
cookies{ECSCP_ID:cf306022f9f921c97ee70b907f6be4e63c96aae2}
response requests.get(url,cookiescookies)
▲ requests-Session会话保持
登录后再操作这种场景需要保持用户状态。可以通过Session类实现。
Session对象可以自动处理会话期间的Cookie也可以通过它对整个会话做统一的设置。
se1 Session() # 创建Session对象自动处理
se1.post() # 先登录
se1.get() # 登录后的操作
▲ requests-files参数
files参数
字典格式文件上传参数name: file-objects或者name: file-tuple
文件上传
files{file:(goods_list.csv,open(C:\\Users\\Administrator\\Desktop\\goo
ds_list.csv,rb),application/vnd.ms-excel)}
response requests.get(url, filesfiles)
▲ requests-verify参数
request请求verify参数
布尔值默认是True验证TSL证书可以设置为False不验证证书
请求走https协议时使用
response requests.get(url, verifyFalse)
▲ requests-stream参数
steam参数
字典格式文件下载时参数主要针对文件比较大的情况。
steamFalse默认值指直接下载。
steamTrue分段下载。避免立即将内容读入内存推迟下载响应体。
文件分段下载
with requests.post(url,datadata,streamTrue) as res:
print(res.headers[content-Length])
file1 open(d:\\export_file.zip,modewb)
for chunk in res1.iter_content(512):
file1.write(chunk)
print(chunk)
file1.close()
今天的分享就到此结束了大家还有什么不懂的可以评论区下提问哈如果我的文章对你有所帮助的话可以点赞三联支持一下