python接口测试基础知识:requests模块讲解和应用

1.get请求:不带参数
import requests
#get请求
base_url ='http://www.baidu.com'
r=requests.get(base_url)#返回一个消息实体(响应状态码,响应头,响应正文/报文)
print(r)#返回的消息实体是封装起来的,如果想看详细的得一个一个看
print("响应头是:",r.headers)
print("响应状态码是:",r.status_code)
print("响应报文是:",r.text)#有3种格式:xml,html,json
2.post请求:带参数
import requests
import json
# post请求
base_url ='http://XXX.com/XXX'
date={"username":"XXX","password":"XXX","workStatus":"XXX",}
r=requests.post(base_url,date)#返回一个消息实体(响应状态码,响应头,响应正文/报文)
print(r)#返回的消息实体是封装起来的,如果想看详细的得一个一个看
print("响应头是:",r.headers)
print("响应状态码是:",r.status_code)
print("响应报文是:",r.text)#有3种格式:xml,html,json,这个是json

text和json()都可以从消息实体里获取到响应正文

2.1.注意:2种方式的差别的是类型不同:
–>报文格式的3种形式xml,html,json都可以使用text
–>xml,html如果都使用json()程序会报错!只有json类型的返回值才支持json
print("响应报文1是:",r.text,type(r.text))#是字符串形式
print("响应报文2是:",r.json(),type(r.json()))#是字典形式
#对于上边的两种形式,推荐使用字典形式,目的是方便取值,对于cookie的获取可以看出,详见下面
2.2.cookie

cookies是类字典的形式,取值的话用字典里key取值的方式

# post请求
url ='https://***'
date={"email":"***,"password":"***","remember":"***",}
r=requests.post(url,date)#返回一个消息实体(响应状态码,响应头,响应正文/报文)
print(r)#返回的消息实体是封装起来的,如果想看详细的得一个一个看
print("响应头是:",r.headers)#这里边会有一个set-cookie
print("响应状态码是:",r.status_code)
print("cookies是:",r.cookies)
print("cookies values是:",r.cookies['PHPSESSID'])

requests(一): 发送一个json格式的post请求的链接:
https://www.cnblogs.com/Simple-Small/p/9830270.html
request高级用法链接:
http://2.python-requests.org/zh_CN/latest/user/advanced.html

2.3. 图片和短信的处理方式

1.屏蔽它
2.找一个万能验证码
3.数据库实时查找
4.手动填写

2.4后续的接口需用到cookie才能操作
#充值
recharge_url="http://***"
recharge_data={"mobilephone":"***","amount":"100"}
recharge_res=requests.get(recharge_url,recharge_data,cookies=r.cookies)
print("充值结果:",recharge_res.json())
print("状态码:",recharge_res.status_code)
2.5关于headers
import requests
# headers
url ='https://***'
date={"email":"***","password":"***","remember":"***",}
r=requests.post(url,date,headers={})
print(r)
print("响应头是:",r.headers)
print("响应状态码是:",r.status_code)
print("代理user-agent:",r.request.headers)#和上边的headers不一样,这个是请求头

在这里插入图片描述
解决方法是:

import requests
# headers
url ='https://***'
date={"email":"***","password":"***","remember":"***",}
header={'User-Agent': 'Mozilla/5.0'}#这个是伪装的
r=requests.post(url,date,headers=header)
print(r)
print("响应头是:",r.headers)
print("响应状态码是:",r.status_code)
print("代理user-agent:",r.request.headers)#请求头

在这里插入图片描述
注意:r.request.headers,响应头是拿不到请求头的,如果想要拿到请求头必须加request

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值