如何快速发送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的用法的更多相关文章

  1. 爬虫简介、requests 基础用法、urlretrieve()

    1. 爬虫简介 2. requests 基础用法 3. urlretrieve() 1. 爬虫简介 爬虫的定义 网络爬虫(又被称为网页蜘蛛.网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程 ...

  2. Python3.x:requests的用法

    Python3.x:requests的用法 1,requests 比 urllib.request 容错能力更强: 2,通常用法: (1).认证.状态码.header.编码.json r = requ ...

  3. 爬虫—Requests高级用法

    Requests高级用法 1.文件上传 我们知道requests可以模拟提交一些数据.假如有的网站需要上传文件,我们也可以用requests来实现. import requests files = { ...

  4. Python爬虫十六式 - 第三式:Requests的用法

    Requests: 让 HTTP 服务人类 学习一时爽,一直学习一直爽   Hello,大家好,我是Connor,一个从无到有的技术小白.今天我们继续来说我们的 Python 爬虫,上一次我们说到了 ...

  5. Monkeyrunner自动化测试由浅入深(第一节)

    (原版)Monkeyrunner自动化测试由浅入深(第一节) 博主原创,请勿转载 第一.相关软件和环境的配置 1.Android sdk下载和配置 2.java jdk下载和配置 第二.Monkeyr ...

  6. python requests 高级用法

    高级用法 本篇文档涵盖了 Requests 的一些高级特性. 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 url ...

  7. Python接口自动化测试框架: pytest+allure+jsonpath+requests+excel实现的接口自动化测试框架(学习成果)

    废话 最近在自己学习接口自动化测试,这里也算是完成一个小的成果,欢迎大家交流指出不合适的地方,源码在文末 问题 整体代码结构优化未实现,导致最终测试时间变长,其他工具单接口测试只需要39ms,该框架中 ...

  8. 转:【Python3网络爬虫开发实战】 requests基本用法

    1. 准备工作 在开始之前,请确保已经正确安装好了requests库.如果没有安装,可以参考1.2.1节安装. 2. 实例引入 urllib库中的urlopen()方法实际上是以GET方式请求网页,而 ...

  9. CSS3秘笈复习:第一章&第二章&第三章

    第一章: 1.<cite>标签不仅可以将网页设置为斜体,还能给标题做上标记,使它便于被搜索引擎搜索到. 第二章: 1.import指令链接样式表: CSS本身有一种添加外部样式的方法:@i ...

  10. <自动化测试方案_1>第一章、为什么要做自动化测试?(Why)

    第一章.为什么要做自动化测试?(Why) 测试的产品分为:桌面程序(C/S).web应用(B/S) 我们的产品是B/S (一)迭代中省去人力测试非新增功能: 在项目中由于测试时间的限制,测试中只能实现 ...

随机推荐

  1. C++ Qt开发:ComboBox下拉组合框组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍ComboBo ...

  2. 用C#也能做机器学习?

    前言 说到机器学习,大家可能都不陌生,但是用C#来做机器学习,可能很多人还第一次听说.其实在C#中基于ML.NET也是可以做机器学习的,这种方式比较适合.NET程序员在项目中集成机器学习模型,不太适合 ...

  3. IDM HOSTS本地注册 屏蔽的网址

    127.0.0.1 registeridm.com127.0.0.1 www.registeridm.com127.0.0.1 www.internetdownloadmanager.com127.0 ...

  4. 永久免费!国产操作系统 Deepin V20 Beta版发布(附安装教程)

    深度操作系统(DEEPIN)是武汉深之度科技有限公司致力于为全球用户提供美观易用.安全可靠的Linux发行版.经过一段时间的测试,这款操作系统的Beta版终于今天和大家见面了.这次Deepin v20 ...

  5. springboot-jpa获取session

    springboot获取hibernate的session进行更精细的SQL操作,默认的jpa并不能满足一些复杂需求(可能是我把需求设计复杂了) 通过查看JpaRepository的底层实现,发现是通 ...

  6. Protobuf 的基本使用

    Protobuf 是 Google 用于序列化数据对象的一种机制,使得数据对象能够在应用程序和服务器之间进行交互,尽管现在 Java 已经对应的序列化的实现方式,但是传统的序列化方式存在严重的缺陷,因 ...

  7. 面试官:禁用Cookie后Session还能用吗?

    Cookie 和 Session 是 Web 应用程序中用于保持用户状态的两种常见机制,它们之间既有联系也有区别. Cookie 是由服务器在 HTTP 响应中发送给客户端(通常是浏览器)的一小段数据 ...

  8. Java 中常见类型的判空方式

    引用类型(Reference Types): 使用 == 运算符判断是否为 null. 使用 != 运算符判断是否不为 null. 使用 Objects.isNull() 方法判断是否为 null. ...

  9. 一种DWS迁移Oracle的CONNECT BY语法的方案

    摘要:本文提供一种GaussDB DWS迁移CONNECT BY语法方案. 本文分享自华为云社区<GaussDB(DWS)迁移 - oracle兼容 -- CONNECT BY迁移>,作者 ...

  10. 如何快速上手 angular.js

    摘要:angular.js 准确的来说,应该不是一个框架,是一个 js 库,一个依赖于 jQuery 的进一步封装,去除繁琐的 DOM 操作,使用数据驱动的 MVC 模块化库. 哎,很难受,连续两个大 ...