既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
一、requests背景
Requests 继承了urllib2的所有特性。Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码。
二、requests安装
利用pip安装:
$ pip install requests
三、requests使用
GET请求
1.基本的GET的请求
response = requests.get("http://www.baidu.com/")
#也可以这样写
response = requests.request("get","http://www.baidu.com/")
2.添加headers 和 params
如果想添加 headers,可以传入headers参数来增加请求头中的headers信息。如果要将参数放在url中传递,可以利用 params 参数。
key = {'key': 'CC'}
headers = {
"User-Agent": "Mozilla/5.0"}
response = requests.get("http://www.baidu.com/s?", params=key, headers=headers)
print(response.text)# 查看响应内容,response.text 返回的是Unicode格式的数据
print(response.content)# 查看响应内容,response.content返回的字节流数据
print(response.status_code)# 查看响应码
如果你想取文本,可以通过response.text;如果想取图片/文件,则可以使用response.content。
POST方法
1.基本的POST的请求
response = requests.post("http://www.baidu.com/",data = data)
2.body带参数
formdata = {
"type": "AUTO",
"doctype": "json",
"key": "www",
"ue": "UTF-8",
}
url = "http://auto-installment/v1/loan-credit-check"
response = requests.post(url,data = data,headers=headers)
print(response.text)#显示返回结果
print(response.json())# 如果是json文件可以直接显示
注意:
打印的结果出现中文乱码,使用json.dupms(response, ensure_ascii=False))解决
Session
一般利用Session在跨请求的时候保持某些参数,比如实现登录后才能访问其他页面
# 1. 创建session对象,可以保存Cookie值
session = requests.session()
# 2. 需要登录的用户名和密码
data = {"username": "mxxxx", "password": "1233444"}
# 3. 发送附带用户名和密码的请求,并获取登录后的Cookie值,保存在ssion里
session.post("https://www.jianshu.com/sign_in", data=data)
# 4. ssion包含用户登录后的Cookie值,可以直接访问那些登录后才可以访问的页面
response = session.get("https://www.jianshu.com/writer#/")
注意事项:
1.在使用requests去请求一个接口时,出现报错的情况,但是这个接口本身却没有问题。这是因为接口的请求参数有两种情况:简单类型(一般少于3个)和复杂对象类型。
解决方法:在headers中定义一下这两种参数的类型
简单类型:headers={“Content-Type”: “application/x-www-form-urlencoded”}
复杂对象类型:headers={“Content-Type”:application/json}
2.某些HTTPS请求存在 SSL证书验证
解决方法:response = requests.get("
https://www.baidu.com/", verify=False)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**