最近换了新工作,从Android测试转到web测试,接口自动化也从java转成了python,最近也在一直学习相关的内容,如果你有什么疑惑或者好的学习想法可以评论或者私信大家一起学习,奥利给 开始正题
步骤:requests库安装、get/post使用、举例说明
安装requests库
- 使用pip安装:pip3 install requests Mac使用 sudo pip3 install requests
- 在pycharm中安装,点击+ 搜索requests 安装就OK啦
常用的使用方法:Get、Post
这里我只介绍get和post的使用
-
get请求
get无参数:requests.get(url = url)
get有参数:requests.get(url = url,
params
= params,headers = headers)
需要关注的位置:get请求使用params参数
-
post请求
requests.post(url = url,data = data,headers = header)
需要关注的位置:post请求使用data参数
参数介绍:
- url == 接口地址
- params == 请求参数(get请求使用) data == 请求参数(post请求使用)
- headers == 请求头
url、params、data怎么获取我这里就不具体说明了,这些你肯定是知道的
headers获取方法
方法1:在web F12_Network 可以看到request Headers
方法2:使用抓包工具 例如:Charles
方法3:copy as cURL,在使用工具进行转换,可以直接转换成请求方式(超级方便)
在线工具:
https://tool.lu/curl/
例子:
测试地址:
https://tools.miku.ac/yi_ge_ding_lia/
api地址:
https://tools-api.hazymoon.vip/yi_ge_ding_lia
请求方法:post
请求体:{“idiom”:”好自为之”}
请求头:
headers = {
'authority': 'tools-api.hazymoon.vip',
'accept': 'application/json, text/plain, */*',
'authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtYWlsIjoiMjI4Mzg0MTM2OUBxcS5jb20iLCJzaWduIjoiVTJGc2RHVmtYMTlvc1hGa3lVR25yY0xYWmlweGpGcnh1NS82d0M1Zkovcz0iLCJpYXQiOjE2MjIwODE1OTAsImV4cCI6MTYyNDY3MzU5MH0.Qu-dy8-Ul_XnR84xubuOzVmegwEug58Tji_CM2LT7M4',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36',
'authsign': '1241baf20b8770e5db5f77d50fa294f6e8cd540a6427979aae7f1bd1f39f93ec.U2FsdGVkX1+ma8DnD/9D7dv0/BHYhAfv6e3Ppa58o/NOALBDh2SR7aPGha9k0Lx5',
'content-type': 'application/json;charset=UTF-8',
'origin': 'https://tools.miku.ac',
'sec-fetch-site': 'cross-site',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
'referer': 'https://tools.miku.ac/',
'accept-language': 'zh-CN,zh;q=0.9',
}
代码:
import requests
headers = {
'authority': 'tools-api.hazymoon.vip',
'accept': 'application/json, text/plain, */*',
'authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtYWlsIjoiMjI4Mzg0MTM2OUBxcS5jb20iLCJzaWduIjoiVTJGc2RHVmtYMTlvc1hGa3lVR25yY0xYWmlweGpGcnh1NS82d0M1Zkovcz0iLCJpYXQiOjE2MjIwODE1OTAsImV4cCI6MTYyNDY3MzU5MH0.Qu-dy8-Ul_XnR84xubuOzVmegwEug58Tji_CM2LT7M4',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36',
'authsign': '1241baf20b8770e5db5f77d50fa294f6e8cd540a6427979aae7f1bd1f39f93ec.U2FsdGVkX1+ma8DnD/9D7dv0/BHYhAfv6e3Ppa58o/NOALBDh2SR7aPGha9k0Lx5',
'content-type': 'application/json;charset=UTF-8',
'origin': 'https://tools.miku.ac',
'sec-fetch-site': 'cross-site',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
'referer': 'https://tools.miku.ac/',
'accept-language': 'zh-CN,zh;q=0.9',
}
data = '{"idiom":"\u597D\u81EA\u4E3A\u4E4B"}'
response = requests.post('https://tools-api.hazymoon.vip/yi_ge_ding_lia', headers=headers, data=data)
返回结果:json格式
这章就到这里啦 下一章讲解如何处理返回的结果