python接口测试之requests详解_Python接口测试-requests库
一、requests库
Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。
二、发请求
response = requests.get(‘https://github.com/timeline.json’) #GET请求
response = requests.post(“http://httpbin.org/post”) #POST请求
response = requests.put(“http://httpbin.org/put”) #PUT请求
response = requests.delete(“http://httpbin.org/delete”) #DELETE请求
response = requests.head(“http://httpbin.org/get”) #HEAD请求
response = requests.options(“http://httpbin.org/get”) #OPTIONS请求
返回类型是一个HTTPresponse类型。
print(response.status_code) # 打印状态码
print(response.url) # 打印请求url
print(response.headers) # 打印头信息
print(response.cookies) # 打印cookie信息
print(response.text) #以文本形式打印网页源码
print(response.content) #以字节流形式打印
三、传参
1、方法
(1)直接将参数放在url内
response = requests.get(http://httpbin.org/get?name=gemey&age=22)
(2)先将参数填写在dict中,发起请求时params参数指定为dict
data = {
'name': 'tom',
'age': 20
}
response = requests.get('http://httpbin.org/get', params=data)
2、为你的请求添加头信息
heads = {}
heads['User-Agent'] = 'Mozilla/5.0 ' \
'(Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 ' \
'(KHTML, like Gecko) Version/5.1 Safari/534.50'
response = requests.get('http://www.baidu.com',headers=headers)
3、使用代理
proxy = {
'http': '120.25.253.234:812',
'https' '163.125.222.244:8123'
}
req = requests.get(url,proxies=proxy)
4、不同于get请求,post请求可以在body里添加内容
data = {'name':'tom','age':'22'}
response = requests.post('http://httpbin.org/post', data=data)
5、异常捕获处理
import requests
from requests.exceptions import ReadTimeout,HTTPError,RequestException
try:
response = requests.get('http://www.baidu.com',timeout=0.5)
print(response.status_code)
except ReadTimeout:
print('timeout')
except HTTPError:
print('httperror')
except RequestException:
print('reqerror')
四、会话保持
会话对象让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 cookie。
session = requests.Session()
session.get('http://httpbin.org/cookies/set/number/12345')
response = session.get('http://httpbin.org/cookies')
五、查看和发送Cookie
具体见
requests官方中文文档
快速入门版 http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
进阶版 http://docs.python-requests.org/zh_CN/latest/user/advanced.html#advanced
python接口测试之requests详解_Python接口测试-requests库相关推荐
- python requests详解_python的requests模块参数详解
import requests print(dir(requests)) # 1.方法 # ['ConnectTimeout', 'ConnectionError', 'DependencyWarni ...
- python中logging模块详解_python logging日志模块详解
logging 日志模块详解 用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这 ...
- Python接口自动化测试实战详解,你想要的全都有
目录 前言 一.接口自动化测试概述 二.搭建Python接口自动化测试框架 三.常用接口自动化测试库示例 四.总结 前言 接口自动化测试是当前软件开发中最重要的环节之一,可以提高代码质量.加速开发周期 ...
- python时间函数详解_Python:Numpy库基础分析——详解datetime类型的处理
原标题:Python:Numpy库基础分析--详解datetime类型的处理 Python:Numpy库基础分析--详解datetime类型的处理 关于时间的处理,Python中自带的处理时间的模块就 ...
- python使用kafka原理详解_Python操作Kafka原理及使用详解
Python操作Kafka原理及使用详解 一.什么是Kafka Kafka是一个分布式流处理系统,流处理系统使它可以像消息队列一样publish或者subscribe消息,分布式提供了容错性,并发处理 ...
- python requests库详解_python的requests库详解
快速上手 迫不及待了吗?本页内容为如何入门 Requests 提供了很好的指引.其假设你已经安装了 Requests.如果还没有,去安装一节看看吧. 首先,确认一下: Requests 已安装 Req ...
- python回调函数实例详解_Python回调函数用法实例详解
本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...
- Jmeter接口测试之断言详解
转载作者:吾非同 来源:吾非同http://www.51testing.com/html/35/n-4463035.html?nomobile=1 什么是断言? 断言,这是一个软件术语,简单来说,就是 ...
- python关键词 打标签详解_Python学习日记13|利用python制作简书首页热门文章关键词标签云...
今天是6.16号. 昨天去面越秀金融风险控制部计算机实习生,去面了才知道主要也就是做数据抓取这一块.面试过程中有问到分词,然后自己心虚的说了有接触过分词这一块,面试结果就不去想了,过不过都其实不重要了 ...
最新文章
- 【linux】Valgrind工具集详解(十二):DHAT:动态堆分析器
- 如何在实际中计划和执行一个机器学习和深度学习项目
- php datatype=quot;requirequot;,我的问题谁能帮我解决一下??
- JSON||获取数据||json数据语法
- 有进步--第二周作业
- 看明星合影争C位,学PPT中C位排版法
- [react] 使用ES6的class定义的组件不支持mixins了,那用什么可以替代呢?
- RHCE 学习笔记(16) - KickStart
- 对于全连接层的理解 全连接层的推导
- LinkedList源码阅读笔记(1.8)
- FusionSphere整体介绍
- docker中的hassio升级_趣说Docker
- uni-app 引用地图
- 新型的铁塔基站“能源管家”
- 毕业一年后,我为什么选择去香港做IT?
- 2020面试准备之MySQL索引
- 支付宝手机网站支付、支付查询、退款、退款查询、转账接口整合
- 冲激函数与冲激函数相乘与冲激函数对冲激函数卷积之间的区别
- 纵论物联网(十一):蓝牙技术的发展
- HTML/JSP中一些单书名号标签的用途
热门文章
- HttpWatch工具简介及使用技巧(转载)
- C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码
- Spring通过Gmail SMTP服务器MailSender发送电子邮件
- Web API 实现JSONP或者安装配置Cors跨域
- C#发送邮件的实现实例解析
- 反思深度思考:不无脑的行动 有脑的持久行动
- Linux之ubuntu的网卡配置
- PHP的max_execution_time
- Linux的Nginx五:进程|过程
- g11 android 4.4,HTC G11 Incredible S 稳定流畅Android4.0.4华丽体验Sense4.1 省电耐用