前言:
现时你们对“pythonmpipinstall”都比较注重,姐妹们都需要知道一些“pythonmpipinstall”的相关知识。那么小编也在网上搜集了一些对于“pythonmpipinstall””的相关文章,希望看官们能喜欢,咱们快快来学习一下吧!每天进步一点点,关注我们哦,每天分享测试技术文章
本文章出自【码同学软件测试】
码同学公众号:自动化软件测试
码同学抖音号:小码哥聊软件测试
requests库是一个常用的用于http请求的模块,它使用python语言编写,在当下python系列的接口自动化中应用广泛,本文将带领大家深入学习这个库
Python环境的安装就不在这里赘述了,我们直接开干。
01 requests的安装
windows下执行如下命令
pipinstallrequests-i pypi.douban.com
mac终端下执行如下命令
python3-mpipinstallrequests-i pypi.douban.com
02 自动化requests模块的常用方法
2.1get请求实战
# !/usr/bin python3 # encoding: utf-8 -*- # @author: 沙陌 微信:Matongxue_2# @Time:2021/3/25 9:54 # @Copyright:北京码同学网络科技有限公司import requests host=';def get(): """get接口请求:return:""" url =host+'/pinter/com/getSku' #接口地址 params={ 'id':1} resp = requests.get(url,params=params) status_code=resp.status_code #获取响应状态码 print('响应状态码:{}'.format(status_code)) text=resp.text #获取响应内容,结果类型是字符串 print('响应内容:{}'.format(text)) json=resp.json() #获取响应内容,结果是字典类型 print('响应内容:{}'.format(json)) resp_headers=resp.headers #获取响应headers print('响应header:{}'.format(resp_headers))if__name__=='__main__': get()
结果如下
D:\Python\Python36\python.exe D:/pycharmprojects/first/requetsstudy/pinter.py响应状态码:200 响应内容:{"code":"0","message":"success","data":{"skuId":1,"skuName":"ptest-1","price":"645","stock":709,"brand":"testfan"}}<class'dict'>响应内容:{'code':'0','message':'success','data':{'skuId':1,'skuName':'ptest-1','price':'645','stock':709,'brand':'testfan'}}响应header:{'Content-Type':'application/json;charset=UTF-8','Transfer-Encoding':'chunked','Date':'Fri,12Mar202122:13:49GMT','Keep-Alive':'timeout=20','Connection':'keep-alive'}Process finished with exit code 0
上述代码中请求发起后得到一个响应对象变量resp,那么resp对象的常用方法如下
2.2post请求实战
post请求的参数格式通常有多种,我们依次学习
第一种表单形式的参数
```python
importrequests
host=';
defpost():"""post表单:return:"""url=host+'/pinter/com/login'#表单参数data={
'userName':'沙陌','password':'123456'}resp=requests.post(url=url,data=data)status_code=
resp.status_code#获取响应状态码print('响应状态码:{}'.format(status_code))text=resp.text#获取响应内容,结果类型是字符串print('响应内容:{}'.format(text))json=resp.json()#获取响应内容,结果是字典类型print('响应内容:{}'.format(json))resp_headers=resp.headers#获取响应headers
print('响应header:{}'.format(resp_headers))```
免费领取 码同学软件测试 课程笔记+超多学习资料+完整视频+最新面试题,可以转发文章 + 私信「码同学666」获取资料哦
第二种json格式参数
import requestshost=';def post_json(): """postjson:return:""" url =host +'/pinter/com/register' #header里定义参数类型 headers={ 'Content-Type':'application/json'} #json参数 json={ "userName":"沙陌", "password":"1234", "gender":1, "phoneNum":"110", "email":"beihe@163.com", "address":"Beijing"} resp=requests.post(url=url,json=json) status_code=resp.status_code #获取响应状态码 print('响应状态码:{}'.format(status_code)) text=resp.text #获取响应内容,结果类型是字符串 print('响应内容:{}'.format(text)) json=resp.json() #获取响应内容,结果是字典类型 print('响应内容:{}'.format(json)) resp_headers=resp.headers #获取响应headers print('响应header:{}'.format(resp_headers))
2.3put接口实战
import requestshost=';def put(): """put 清酒:return:""" url = host+'/pinter/com/phone' #接口地址 #参数 json={ "brand":"Huawei", "color":"yellow", "memorySize":"64G", "cpuCore":"8核", "price":"8848", "desc":"全新上市"} resp=requests.put(url=url,json=json) status_code=resp.status_code #获取响应状态码 print('响应状态码:{}'.format(status_code)) text=resp.text #获取响应内容,结果类型是字符串 print('响应内容:{}'.format(text)) json=resp.json() #获取响应内容,结果是字典类型 print('响应内容:{}'.format(json)) resp_headers=resp.headers #获取响应headers print('响应header:{}'.format(resp_headers))
2.4delete请求
2.5request.session.request用法
可以自动管理cookie,比如如下需要采用cookie认证的接口
结果如下:
D:\Python\Python36\python.exeD:/pycharmprojects/first/requetsstudy/pinter.py 响应状态码:200 响应内容:{"code":"0","message":"success","data":"$22,378,198"}Process finished with exit code 0
2.6token关联的接口如何做呢?
对于需要token关联的接口来说,需要从登录接口的返回值中提取token信息,并传递给需要token的接口
结果如下:
D:\Python\Python36\python.exeD:/pycharmprojects/first/requetsstudy/pinter1.py响应状态码:200 响应内容:{"code":"0","message":"success","data":"$74,780,457"}Process finished with exit code 0
总结一下:
requests库的请求方法里参数众多,所以简单划分一下,查询参数就用params=params
表单参数就用data=data
json参数就用json=json
请求头信息header就用headers=headers
END
免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频,可以关注我们公众号哦:自动化软件测试
本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
标签: #pythonmpipinstall