这篇文章主要介绍了如何基于Python + requests实现发送HTTP请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
一、在接口自动化测试过程中,存在两种情况:
一种是不需要鉴权的接口,可以直接访问的。
还有一种情况是需要鉴权才可以访问的接口。
这里我们通过Python + requests 实现这两种发送请求的方法
""" ============================ author:Treasure丶 time:2019/11/28 E-mail:1247814617@qq.com 发送Http请求的方法 ============================ """ import requests class HttpRequest(object): """不记录任何的请求方法""" @classmethod def request(cls, method, url, data=None, headers=None): # 这里分别需要传人 method = method.upper() # 这里将传入的请求方法统一大写,然后进行判断采用什么方法 if method == 'POST': return requests.post(url=url, data=data, headers=headers) elif method == 'GET': return requests.get(url=url, params=data, headers=headers) return f"目前没有{method}请求方法,只有POST和Get请求方法!" # 指定位置传参的话,get方法里是叫params,和post方法里的不一样哦! class HttpSession(object): """记录Session的方法""" def __init__(self): self.session = requests.session() # 初始化一个保存session的方法 def request(self, method, url, data=None, headers=None): method = method.upper() if method == 'POST': return self.session.post(url=url, data=data, headers=headers) elif method == 'GET': return self.session.get(url=url, params=data, headers=headers) def close(self): """断开session连接的方法""" self.session.close() if __name__ == '__main__': http = HttpSession() http_one = http.request(method='post', url=r'http://test.lemonban.com/futureloan/mvc/api/member/login', data={"mobilephone": '17685598021', "pwd": '123456'}).json() # 登录接口 http_two = http.request(method='post', url=r'http://test.lemonban.com/futureloan/mvc/api/member/recharge', data={"mobilephone": "17685598021", "amount": 50000}).json() # 充值接口 print(http_one) print(http_two)
运行结果:
http_one = {'status': 1, 'code': '10001', 'data': None, 'msg': '登录成功'} http_two = {'status': 1, 'code': '10001', 'data': {'id': 133171, 'regname': '歪歪', 'pwd': 'E10ADC3949BA59ABBE56E057F20F883E', 'mobilephone': '17685598021', 'leaveamount': '647200.00', 'type': '1', 'regtime': '2019-09-01 12:28:03.0'}, 'msg': '充值成功'}
这里用充值接口来举例,所以我们直接使用的是记录Session信息的HTTP请求方法,
因为充值接口是不可以直接请求成功的,是需要用户先登录,然后获取登录后的Session信息,然后将用户信息和Session信息一同发送给充值接口,才能充值成功!否则会提醒先登录。
我们这里是将返回数据以json格式显示,看起来像字典,也比较清晰!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍python 实现Requests发送带cookies的请求,包括了python 实现Requests发送带cookies的请求的使用技巧和注意事项,需要的朋友参考一下 一、缘 起 最近学习【悠悠课堂】的接口自动化教程,文中提到Requests发送带cookies请求的方法,笔者随之也将其用于手头实际项目中,大致如下 二、背 景 实际需求是监控平台侧下发消息有无异常,如有异常便触发报
本文向大家介绍python用requests实现http请求代码实例,包括了python用requests实现http请求代码实例的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了python用requests实现http请求过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. get 2. post请求 3. 登录 以上就是本
本文向大家介绍基于Python模拟浏览器发送http请求,包括了基于Python模拟浏览器发送http请求的使用技巧和注意事项,需要的朋友参考一下 1.使用 urllib2 实现 2.使用 requests 模块 (1).get请求 (2).post请求 (3).使用session对象的写法 3.其他的一些请求方式 >>> r = requests.put("http://httpbin.org/
本文向大家介绍python 使用 requests 模块发送http请求 的方法,包括了python 使用 requests 模块发送http请求 的方法的使用技巧和注意事项,需要的朋友参考一下 Requests具有完备的中英文文档, 能完全满足当前网络的需求, 它使用了urllib3, 拥有其所有的特性! 最近在学python自动化,怎样用python发起一个http请求呢? 通过了解 requ
本文向大家介绍python爬虫 基于requests模块的get请求实现详解,包括了python爬虫 基于requests模块的get请求实现详解的使用技巧和注意事项,需要的朋友参考一下 需求:爬取搜狗首页的页面数据 requests模块如何处理携带参数的get请求,返回携带参数的请求 需求:指定一个词条,获取搜狗搜索结果所对应的页面数据 之前urllib模块处理url上参数有中文的需要处理编码,
httpx 怎么发一个 post http2 请求 curl --http2-prior-knowledge -X POST http://127.0.0.1:1313 -d 'ww$$go' 这个 curl 是有效的,但怎么使用 httpx 来实现