本文介绍: 作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试学习资源,希望能给你前进的路上带来帮助。

requests介绍安装

requests原理源码介绍

使用requests发送请求

使用requests处理响应

get请求参数

发送post请求参数

请求header设置

cookie的处理

https证书的处理

文件上传下载

requests介绍
requestspython第三方的HTTP模块库。

● 它基于urllib,又比urllib更加简单高效。

支持Get、Post、Put、Delete、Head、Options等HTTP请求

工具jmeterpostmansoupui

框架robot framework

编程urllibhttpclient

requests安装
python编程环境准备python3.6+pycharm

通过pip工具在线安装

pip install requests

pip installi https://mirrors.aliyun.com/pypi/simple/ requests

● 安装验证

查看requests版本信息

pip show requests

pycharm导入模块正常:import requests

requests工作原理源码介绍

请求方法

requests.get(url, params=None, **kwargs) # get请求
requests.post(url, data=None, json=None, **kwargs) # post请求
requests.request(method, url, **kwargs) # 通用请求

requests-get请求

get请求特点:

请求参数url中,键值对形式。

response = requests.get(url)
response = requests.get(url, params=None)
response = requests.get(url, params=None, **kwargs)

requests-post请求

post请求特点:

请求参数bady中,键值对形式。

response = requests.post(url, data=None)
response = requests.post(url, json=None)
response = requests.post(url, data=None, **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, params=None, **kwargs) #

响应对象属性和方法:

● response.status_code #获取响应结果

● response.encoding #获取响应编码格式

● response.headers #获取响应

response.content #获取二进制形式响应内容

● response.text #获取字符串形式响应内容

● response.json() #获取json格式响应内容

● response.url #获取请求的url

▲ requests-header参数

request请求header参数:

字典格式可以useragent, cookie等内容,参考浏览器header

发送请求时,需要useragent信息:

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, headers=header)

▲ requests-cookies参数

request请求cookies参数:

字典格式可以多个cookie数据name:value

发送请求时,需要cookie信息:

cookies={"ECSCP_ID":"cf306022f9f921c97ee70b907f6be4e63c96aae2"}
response = requests.get(url,cookies=cookies)

▲ requests-Session会话保持

登录后再操作,这种场景需要保持用户状态。可以通过Session实现

Session对象可以自动处理会话期间的Cookie,也可以通过它对整个会话统一设置

se1 = Session() # 创建Session对象自动处理
se1.post() # 先登录
se1.get() # 登录后的操作

▲ requests-files参数

files参数:

字典格式文件上传参数,’name‘: fileobjects或者’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, files=files)

▲ requests-verify参数

request请求verify参数:

布尔值,默认是True验证TSL证书,可以设置为False不验证证书

请求走https协议使用

response = requests.get(url, verify=False)

▲ requests-stream参数

steam参数:

字典格式,文件下载时参数,主要针对文件比较大的情况。

steam=False,默认值,指直接下载。

steam=True,分段下载。避免立即将内容读入内存,推迟下载响应体。

文件分段下载:

with requests.post(url,data=data,stream=True) as res:
print(res.headers['content-Length'])
file1 = open("d:\export_file.zip",mode="wb")
for chunk in res1.iter_content(512):
file1.write(chunk)
print(chunk)
file1.close()
总结

感谢每一个认真阅读文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里腾讯字节等一线互联网大厂最新面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作

 

文档获取方式

加入我的软件测试交流群:822269834免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点

这份文档,对于想从事【软件测试】的朋友来说应该最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要搜索vx公众号:程序员雨果即可免费领取

原文地址:https://blog.csdn.net/2301_79535733/article/details/134751277

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_26172.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注