美文网首页
python 接口请求碎碎念

python 接口请求碎碎念

作者: 小盼盼_1 | 来源:发表于2020-12-26 22:14 被阅读0次

背景

用python代码编写接口测试用例的时候,需借用requests库来发送get/post请求完成对接口的http调用,本文汇总编写接口测试用例常用的一些方法。

接口测试

发起请求

1.带参数的get请求:

import requests

data = {'key1':'value1','key2':'value2'}

rs = requests.get('http://httpbin.org/get',params=data)

2.带参数的post请求

import requests

data = {'key1':'value1','key2':'value2'}

rs = requests.post('http://httpbin.org/post',data=data)

3.定制header信息:本地借助switchhost调试通过的接口调用,需要通过将host写入到header里面可达到外网访问的场景

import requests

headers={

'Host':'httpbin.org',

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36',}

data = {'key1':'value1','key2':'value2'}

rs = requests.get(url='http://172.24.31.5/get',headers=headers,params=data,verify=False)

4.带登陆态访问链接:常用于接口测试用例,使用session成功的登录了某个网站,后续使用该session对象请求该网站的其他网页都会默认使用该session之前使用的cookie等参数

post_url = "http://httpbin.org/post/login"                                    #登陆前的页面

headers = {"User-Agent": "Mozilla/5.0"}

session = requests.session()                                                       #实例化session

post_data = {"email": "username", "password": "password"}    #登陆的用户名&密码

session.post(post_url, headers=headers, data=post_data)      # 使用session发送post请求获取cookie保存到本地session中

url = "http://httpbin.org/post/profile"                                           # 登录后的页面               

response1 = session.get(url, headers=headers)                       # 使用session请求登录后的页面,此时不用走登陆注册页面

response2 = session.post(url, headers=headers)                     # 使用session请求登录后的页面,此时不用走登陆注册页面

5.allow_redirects=False:由于requests库会自动处理重定向请求,会导致获取不到重定向的URL,但有时部分接口需要获取重定向的URL,此时需设置allow_redirects=False,就可以获取重定向的地址t.headers['location']。

import requests

headers={

'Host':'httpbin.org',

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36',}

s = requests.session()                                  

r = s.get('http://httpbin.org/post/profile',

          headers=headers,

          allow_redirects=True,               #禁止重定向 

          verify=False)     

new_url = r.headers["Location"]           #获取location地址

print(new_url)

接口返回数据

1.rs.text                   # 以文本的方式显示响应数据

2.json.loads(rs.text)       #通过json转码后,变成常见的接口返回数据{"code":0,"message":"success","data":[]}

3.rs.status_code       # 响应的状态码,对应于200/3XX/5XX

注:文章涉及到的URL不是真实存在,实际使用需替换成真实的接口地址

相关文章

  • python 接口请求碎碎念

    背景 用python代码编写接口测试用例的时候,需借用requests库来发送get/post请求完成对接口的ht...

  • 改观

    我很少写碎碎念,但喜欢看别人的碎碎念。 最近几天阅读,发现碎碎念的文章少了。 讲真,碎碎念,发泄居多,正能量少。 ...

  • Python碎碎念

    花了一天半写完了第一个作业。 不叫它大作业是因为它只有10分。 可是花了我一天半,也算是个大作业的量了QAQ。 有...

  • 2018-10-18

    碎碎念 碎碎念 很烦碎碎念 生活的确是琐碎,可我很讨厌碎碎念。 爸爸是个很软弱的人,生活只是基本自理,并不追求...

  • IISC2020-线下赛re

    碎碎念 帮忙做了一个re题,题目挺简单的,是python 的exe解包,做了还是写写吧hhh python exe...

  • 发现日常工作碎碎念

    碎碎念害人,紫雨老师手帐课里面曾经就碎碎念单独有专门的一节课,而且我的碎碎念也是很多,这些不经意的碎碎念就会让我们...

  • 08主题碎碎念追踪:如何发现高频发的碎碎念和场景剧情?课后感

    这节课老师讲的是记录主题式的碎碎念的方法。 主题式的碎碎念:就是从日常碎碎念中把主题式碎碎念给抽离出来。 自己最长...

  • 【读书清单】《人性的弱点》夫妻相处10大妙招

    文|萌 001切勿喋喋不休 可能碎碎念是所有人都不喜欢的,既不喜欢父母碎碎念,也不喜欢朋友碎碎念,更不喜欢伴侣碎碎...

  • 一条狗

    碎碎念

  • 2015年9月19日的一篇日记

    碎碎念

网友评论

      本文标题:python 接口请求碎碎念

      本文链接:https://www.haomeiwen.com/subject/rxxnnktx.html