自动化测试复习巩固第一天,requests的用法
如何快速发送post请求
因为我用的python语言,所以大家需要在本地安装python语言和pycharm,如何安装请自行查找教程,这里不做过多赘述
这里需要提前下载安装好需要的第三方库requests,requests 是一个流行的 Python 库,用于发送 HTTP 请求。它提供了一种简单而优雅的方式来与 Web 服务进行交互,可以用于执行各种 HTTP 请求,如 GET、POST、PUT、DELETE 等,并处理服务器响应。
安装requests库
方式一:在本地的cmd环境下,使用pip install requests命令下载requests包,我这里已经下载了,大家自行下载

方式二:打开pycharm--setting--python Interpreter搜索requests下载,可以看到我已经下载了

requests用法
requests 包的使用方法非常简单和直观。
1.发送get请求
import requests
method = "get"
url = "http://api.example.com/data"
response = requests.request(method,url)
print(response.status_code)
print(response.json()) # 获取响应的 JSON 数据
2.发送post请求
import requests
method = "post"
url = "http://api.example.com/submit"
data = {"name": "John", "age": 25}
response = requests.request(method,url, data=data)
print(response.status_code)
print(response.text) # 获取响应的文本内容
3.发送带有请求头的请求
import requests
method = "get"
url = "http://api.example.com/data"
headers = {"User-Agent": "Mozilla/5.0"}
response = requests.request(method,url, headers=headers)
print(response.status_code)
print(response.json())
4.处理会话
import requests
session = requests.Session()
session.headers.update({"User-Agent": "Mozilla/5.0"})
response1 = session.get("http://api.example.com/login")
response2 = session.post("http://api.example.com/submit", data={"name": "John"})
5.处理认证和 Cookie
import requests
url = "http://api.example.com/data"
response = requests.get(url, auth=("username", "password"))
print(response.status_code)
print(response.json())
# 或者使用 Cookie
cookies = {"session_id": "12345"}
response = requests.get(url, cookies=cookies)
6.文件上传
import requests
url = "http://api.example.com/upload"
files = {"file": open("data.txt", "rb")}
response = requests.post(url, files=files)
print(response.status_code)
print(response.text)
这些只是 requests 库的一些基本用法,大家可以参考requests官方文档查看更多的功能和选项
使用request库发送http请求
进入pycharm创建项目,创建python文件
第一步导入requests库
import requests
第二步准备好测试数据
url = "http://192.168.3.xx/zentaopms/www/index.php?m=user&f=login"
method = "post"
data = {"account":"xxx",
"password":"*****"}
这里我准备的是自己搭建的禅道,IP和账号密码就脱敏了,大家自行准备网站进行测试
第三步发送http请求
re = requests.request(method,url,json=data)
这里闹了一个乌龙,我先写的是(url,method,json=data),结果报错了,看了requests用法才发现,如果单独使用url,method这样传参的话,得先把method放在第一个参数。如果想把url放第一个参数,可以使用url=url,method=method这样。这里把请求传给re变量是为了方便后面查看结果。
第四步查看请求结果
print("禅道登录状态码是:",re.status_code)
print("禅道登录响应头是:",re.headers)
print("禅道登录响应类型是:",type(re.text))
print("禅道登录响应数据是:",re.text)
第五步查看返回结果

自动化测试复习巩固第一天,requests的用法的更多相关文章
- 爬虫简介、requests 基础用法、urlretrieve()
1. 爬虫简介 2. requests 基础用法 3. urlretrieve() 1. 爬虫简介 爬虫的定义 网络爬虫(又被称为网页蜘蛛.网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程 ...
- Python3.x:requests的用法
Python3.x:requests的用法 1,requests 比 urllib.request 容错能力更强: 2,通常用法: (1).认证.状态码.header.编码.json r = requ ...
- 爬虫—Requests高级用法
Requests高级用法 1.文件上传 我们知道requests可以模拟提交一些数据.假如有的网站需要上传文件,我们也可以用requests来实现. import requests files = { ...
- Python爬虫十六式 - 第三式:Requests的用法
Requests: 让 HTTP 服务人类 学习一时爽,一直学习一直爽 Hello,大家好,我是Connor,一个从无到有的技术小白.今天我们继续来说我们的 Python 爬虫,上一次我们说到了 ...
- Monkeyrunner自动化测试由浅入深(第一节)
(原版)Monkeyrunner自动化测试由浅入深(第一节) 博主原创,请勿转载 第一.相关软件和环境的配置 1.Android sdk下载和配置 2.java jdk下载和配置 第二.Monkeyr ...
- python requests 高级用法
高级用法 本篇文档涵盖了 Requests 的一些高级特性. 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 url ...
- Python接口自动化测试框架: pytest+allure+jsonpath+requests+excel实现的接口自动化测试框架(学习成果)
废话 最近在自己学习接口自动化测试,这里也算是完成一个小的成果,欢迎大家交流指出不合适的地方,源码在文末 问题 整体代码结构优化未实现,导致最终测试时间变长,其他工具单接口测试只需要39ms,该框架中 ...
- 转:【Python3网络爬虫开发实战】 requests基本用法
1. 准备工作 在开始之前,请确保已经正确安装好了requests库.如果没有安装,可以参考1.2.1节安装. 2. 实例引入 urllib库中的urlopen()方法实际上是以GET方式请求网页,而 ...
- CSS3秘笈复习:第一章&第二章&第三章
第一章: 1.<cite>标签不仅可以将网页设置为斜体,还能给标题做上标记,使它便于被搜索引擎搜索到. 第二章: 1.import指令链接样式表: CSS本身有一种添加外部样式的方法:@i ...
- <自动化测试方案_1>第一章、为什么要做自动化测试?(Why)
第一章.为什么要做自动化测试?(Why) 测试的产品分为:桌面程序(C/S).web应用(B/S) 我们的产品是B/S (一)迭代中省去人力测试非新增功能: 在项目中由于测试时间的限制,测试中只能实现 ...
随机推荐
- 安装Tensorflow-gpu版本
下载cuda 链接:https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Windows&target_arch= ...
- 封装Detours用于Python中x64函数hook
Detours 代码仓库: https://github.com/microsoft/Detours x64写一个任意地址hook要比x86麻烦的多,所以这里直接封装框架来用于x64的hook. De ...
- 华企盾DSC手机app登录不上常见处理方法
1.DSC服务器是否正常运行. 2.telnet外网是否通.(需要在程序与功能中添加telnet功能才能在cmd窗口用telnet命令 举例:telnet 172.17.2.20 5558) 3.其它 ...
- 数字孪生结合GIS系统为物流行业带来的改变
随着全球物流业务不断扩张和发展,数字化转型成为当今物流行业的主要趋势.在这个数字化时代,数字孪生技术和地理信息系统(GIS)的结合,为物流行业带来了前所未有的机遇和挑战.这种融合将为物流企业提供更高效 ...
- NetSuite 开发日记 —— 科目类型码
科目类型码可用于搜索判断科目类型 代码实现 var sch = search.create({ type: 'account', filters: ['type', 'anyof', 'Bank'], ...
- MinIO的简单使用
MINIO介绍 什么是对象存储? 以阿里云OSS为例: 对象存储服务OSS(Object Storage Service)是一种海量.安全.低成本.高可靠的云存储服务,适合存放任意类型的文件.容量和处 ...
- 面试官:说说JVM内存整体结构?
Java JVM内存结构的面试常问知识 说说JVM内存整体的结构?线程私有还是共享的? JVM 整体架构,中间部分就是 Java 虚拟机定义的各种运行时数据区域. Java 虚拟机定义了若干种程序运行 ...
- .net Core中间件实战
新建一个ASP.NET Core Web Application 项目选中空模板 然后为项目添加一个Microsoft.Extensions.Logging.Console 由于我用的.net cor ...
- uni-app+vue3+ts项目搭建完整流程
项目代码同步更新至码云 uni-vue3-ts-template 开发前准备 利用 uni-app 开发,有两种方法: 通过 HBuilderX 创建(需安装 HBuilderX 编辑器) 通过命令行 ...
- 新版的Django中的path不能使用正则表达式
新版的path 虽然 取代了 之前的url,但是在写路由的时候不能在路由中直接写正则表达式,不然会找不到页面. 解决方法使用 re_path from django.urls import re_pa ...