一、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库相关推荐

  1. python requests详解_python的requests模块参数详解

    import requests print(dir(requests)) # 1.方法 # ['ConnectTimeout', 'ConnectionError', 'DependencyWarni ...

  2. python中logging模块详解_python logging日志模块详解

    logging 日志模块详解 用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这 ...

  3. Python接口自动化测试实战详解,你想要的全都有

    目录 前言 一.接口自动化测试概述 二.搭建Python接口自动化测试框架 三.常用接口自动化测试库示例 四.总结 前言 接口自动化测试是当前软件开发中最重要的环节之一,可以提高代码质量.加速开发周期 ...

  4. python时间函数详解_Python:Numpy库基础分析——详解datetime类型的处理

    原标题:Python:Numpy库基础分析--详解datetime类型的处理 Python:Numpy库基础分析--详解datetime类型的处理 关于时间的处理,Python中自带的处理时间的模块就 ...

  5. python使用kafka原理详解_Python操作Kafka原理及使用详解

    Python操作Kafka原理及使用详解 一.什么是Kafka Kafka是一个分布式流处理系统,流处理系统使它可以像消息队列一样publish或者subscribe消息,分布式提供了容错性,并发处理 ...

  6. python requests库详解_python的requests库详解

    快速上手 迫不及待了吗?本页内容为如何入门 Requests 提供了很好的指引.其假设你已经安装了 Requests.如果还没有,去安装一节看看吧. 首先,确认一下: Requests 已安装 Req ...

  7. python回调函数实例详解_Python回调函数用法实例详解

    本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...

  8. Jmeter接口测试之断言详解

    转载作者:吾非同 来源:吾非同http://www.51testing.com/html/35/n-4463035.html?nomobile=1 什么是断言? 断言,这是一个软件术语,简单来说,就是 ...

  9. python关键词 打标签详解_Python学习日记13|利用python制作简书首页热门文章关键词标签云...

    今天是6.16号. 昨天去面越秀金融风险控制部计算机实习生,去面了才知道主要也就是做数据抓取这一块.面试过程中有问到分词,然后自己心虚的说了有接触过分词这一块,面试结果就不去想了,过不过都其实不重要了 ...

最新文章

  1. 【linux】Valgrind工具集详解(十二):DHAT:动态堆分析器
  2. 如何在实际中计划和执行一个机器学习和深度学习项目
  3. php datatype=quot;requirequot;,我的问题谁能帮我解决一下??
  4. JSON||获取数据||json数据语法
  5. 有进步--第二周作业
  6. 看明星合影争C位,学PPT中C位排版法
  7. [react] 使用ES6的class定义的组件不支持mixins了,那用什么可以替代呢?
  8. RHCE 学习笔记(16) - KickStart
  9. 对于全连接层的理解 全连接层的推导
  10. LinkedList源码阅读笔记(1.8)
  11. FusionSphere整体介绍
  12. docker中的hassio升级_趣说Docker
  13. uni-app 引用地图
  14. 新型的铁塔基站“能源管家”
  15. 毕业一年后,我为什么选择去香港做IT?
  16. 2020面试准备之MySQL索引
  17. 支付宝手机网站支付、支付查询、退款、退款查询、转账接口整合
  18. 冲激函数与冲激函数相乘与冲激函数对冲激函数卷积之间的区别
  19. 纵论物联网(十一):蓝牙技术的发展
  20. HTML/JSP中一些单书名号标签的用途

热门文章

  1. HttpWatch工具简介及使用技巧(转载)
  2. C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码
  3. Spring通过Gmail SMTP服务器MailSender发送电子邮件
  4. Web API 实现JSONP或者安装配置Cors跨域
  5. C#发送邮件的实现实例解析
  6. 反思深度思考:不无脑的行动 有脑的持久行动
  7. Linux之ubuntu的网卡配置
  8. PHP的max_execution_time
  9. Linux的Nginx五:进程|过程
  10. g11 android 4.4,HTC G11 Incredible S 稳定流畅Android4.0.4华丽体验Sense4.1 省电耐用