IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 学习笔记:使用requests库进行接口测试 -> 正文阅读

[网络协议]学习笔记:使用requests库进行接口测试

一:构建http请求

1、构建请求URL参数

https://www.baidu.com/s?wd=安卓

以上边的url为例,?后边的 wd=安卓 就是url参数

可以存在任意多的参数,每个参数之前用&分隔

url参数的格式,术语叫做urlencoded格式。

使用requests发送http请求,可以直接把参数写在url里,例:

import requests

response = requests.get('https://www.baidu.com/s?rsv_idx=1&wd=android')

方法2:把这些参数放到一个字典里面,然后把字典对象传递给 Requests请求方法的 params 参数

import requests

pra = {'rsv_idx':'1','wd':'android'}

response = requests.get('https://www.baidu.com',params=pra)

2、构建请求消息头

每个消息头也就是一种键值对的格式存放数据,所以

构建请求消息头的方法和构建url参数的方式差不多,也是使用字典的形式

把需要发送的参数放到一个字典里面,然后把字典传递给 Requests请求方法的 headers参数

import requests

headers = {
    'name':'zp',
    'age':'18'
}
response = requests.get('https://www.baidu.com',headers=headers)

3、配合fiddler查看发出的请求

fiddler使用方法可以查看上篇文章??抓包工具fiddler

要让requests 发送请求使用代理,只需要传入一个proxies参数即可

import requests

proxies = {
  'http': 'http://127.0.0.1:8888',
  'https': 'http://127.0.0.1:8888',
}

pra = {'rsv_idx':'1','wd':'android'}

headers = {
    'name':'zp',
    'age':'18'
}

response = requests.get('http://mirrors.sohu.com/',proxies=proxies,params=pra,headers=headers)

?然后就可以去fiddler去看下我们发送的内容是否和预期一致了

?可以看到,fiddler成功抓到了消息包且内容符合预期。

4、构建http请求消息体

API接口测试中,消息体基本上都是文本

常见的消息体格式有三种:urlencoded,xml,json

以json为例:

import requests


payload = {
    "Overall":"良好",
    "Progress":"30%",
    "Problems":[
        {
            "No" : 1,
            "desc": "问题1...."
        },
        {
            "No" : 2,
            "desc": "问题2...."
        }
    ]
}


response = requests.get('http://mirrors.sohu.com/',json=payload)

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-17 13:06:20  更:2021-11-17 13:07:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/3 21:00:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码