北京网站建设询q479185700上快,西宁网络公司网站建设,vps云主机可以建立几个网站,淘宝客15套单页网站程序模板打包● requests介绍及安装
● requests原理及源码介绍
● 使用requests发送请求
● 使用requests处理响应
● get请求参数
● 发送post请求参数
● 请求header设置
● cookie的处理
● https证书的处理
● 文件上传、下载
requests介绍 ● requests是python第三方的HTTP…● 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()
总结
感谢每一个认真阅读我文章的人
作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。 软件测试面试文档
我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。 文档获取方式
加入我的软件测试交流群822269834免费获取~同行大佬一起学术交流每晚都有大佬直播分享技术知识点
这份文档对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你 以上均可以分享只需要你搜索vx公众号程序员雨果即可免费领取