软件测试最全接口测试--requests基础篇_接口测试的request是(1),软件测试模块化面向接口编程

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

基础操作

import requests

res = requests.get(url='https://baidu.com')
print("url",res.url)
print("状态码:",res.status_code)
print("文本响应内容",res.text)
print("默认编码格式",res.encoding)
# 修改编码格式
res.encoding='utf-8'
print("修改后的编码格式",res.encoding)

GET请求

在get请求后面加入数字与汉字

import requests

url='https://baidu.com'
res = requests.get(url,params='id=11001')
print(res.url)

输出的结果是http://www.baidu.com/?id=1001,也有另一种接入方法:

import requests

url='https://baidu.com'
data = {'id':1001}
res = requests.get(url,data)
print(res.url)

你也可以接入多个参数,混合起来发送请求:

import requests

url='https://baidu.com'
data = {'id':'1001,1002','home':'深圳'}
res = requests.get(url,data)
print(res.url)

我们得到的是这样的一个地址:http://www.baidu.com/?id=1001%2C1002&home=%E6%B7%B1%E5%9C%B3,home后面我们接的是深圳,但是看起来像是乱码了,其实不是乱码,我们只需要通过解析就能得到汉字,自行搜索UrlEncode进行解码就好。

除此之外我们还可以换另外一种的写法:

import requests

url='https://baidu.com'
data = {'id':'1001,1002','home':'深圳'}
res = requests.request('GET',url,params=data)
print(res.url)

POST请求

import requests
import json

url = 'http://api.test.zhulogic.com/designer_api/account/login_quick'
# 字典类型,需要转换
d = {
    "phone":1234568,
    "code":1234,
    "unionid":"",
    "messageType":3,
    "channel":"zhulogic"
}
# 1、将字典d转为json类型
json_d = json.dumps(d)
h = {'Content-Type':'application/json'}
res = requests.post(url,data=json_d,headers=h)
print(res.text)

这里可以换一种将字典转为JSON类型的写法,为什么一定要替换,因为不替换会有夜歌error的报错,具体是什么宝报错,可以自己试试。这里的转换就是:

res = requests.post(url,json=d,headers=h)
print(res.text)

亦或者直接干脆点跟get请求一样:

import requests
import json

url = 'http://api.test.zhulogic.com/designer_api/account/login_quick'
# 字典类型,需要转换
d = {
    "phone":12345678,
    "code":1234,
    "unionid":"",
    "messageType":3,
    "channel":"zhulogic"
}
res = requests.request('POST',url,json=d,headers=h)
print("状态码:",res.status_code)
print(res.text)

这里我们想看到什么样的信息都可以打印,编码格式,请求的地址,响应的状态码等,都是可以的。

TEXT与JSON的比较

响应对象.json:返还类型字典,可以通过键名来获取响应的值

响应对象.text:返还类型为字符串,无法通过键名方式来获取响应的值

他们也有一个共同的特点就是长的比较像字典。但是取值的方式还是有明显的不一样的地方

import requests
import json

url = 'http://api.test.zhulogic.com/designer_api/account/login_quick'
d = {
    "phone":12345678,
    "code":1234,
    "unionid":"",
    "messageType":3,
    "channel":"zhulogic"
}
h = {'Content-Type':'application/json'}
res = requests.request('POST',url,json=d,headers=h)
print(res.text)
print(res.json())
print(type(res.text))   # 字符串类型
print(type(res.json())) # 字典类型
# 取值比较
print("TEXT:",res.text[1:3])  # 切片,很不方便
print("JSON:",res.json()['message'])

这样就能很明显的看出两者的不一样了,看看结果:

{"status_code":400,"message":"请输入正确的手机号码","data":null}
{'status_code': 400, 'message': '请输入正确的手机号码', 'data': None}
<class 'str'>
<class 'dict'>
TEXT: "s
JSON: 请输入正确的手机号码

图片类型

这里就比较的特殊了。需要用到另一个方法content,我们直接访问百度的图片:https://www.baidu.com/img/flexible/logo/pc/result.png

import requests
import json

res = requests.get('https://www.baidu.com/img/flexible/logo/pc/result.png')
print(res.text)

这样访问出来的都是乱码,比如:�PNGTŵ��w��E !�� "Y�J�啥的,一堆乱码。但是你用了content就不一样了,可以解析成一堆字节码。

import requests
import json


![img](https://img-blog.csdnimg.cn/img_convert/b6c18752af7eeca96fdcf797c271a8bb.png)
![img](https://img-blog.csdnimg.cn/img_convert/a993d33f1ee4e9070f9a1595e8fc84b2.png)
![img](https://img-blog.csdnimg.cn/img_convert/3eccf357e351cd0c84b3e588ac0c9239.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值