python接口自动化之发送post(四)
1、ssl问题
目前很多的请求使用的都是较为安全的https请求,https请求相对于http安全级别更高,需要验证ssl证书
写代码的时候有两种可以忽略ssl验证的方法
(1)import urllib3
urllib3.disable_warnings() # 忽略警告
(2)在请求的时候设置verify=False #忽略验证
requests.get(url, verify=False)
2、post请求参数(常见的有四种,不止四种)
(1)Content-Type:application/json
直接传json=
# -*- coding:utf-8 -*- import requests host = 'xxxx'
login_url = 'xxxxx' a = {
"username": "test",
"password": "123456"
}
# application/json 直接传json=
r = requests.post(url=host+login_url, json=a)
print(r.text) """
json= 是新版本加的功能
旧版本的方法是直接使用json对参数进行编码:
import json
a1 = json.dumps(a)
requests.post(url, data=a1)
"""
(2)Content-Type:application/x-www-form-urlencode
直接data=
# -*- coding:utf-8 -*- import requests host = 'xxxxx'
login_url = 'xxxxx' # application/x-www-form-urlencode
# 参数username=test&password=123456
a = {
"username": "test",
"password": "123456"
}
# 直接传data=
r = requests.post(url=host+login_url, data=a)
print(r.text)
(3)xml格式的请求:Content-Type:text/xml
# -*- coding:utf-8 -*- import requests
# xml格式请求
url = "http://www.example.com/"
body = '''
<?xml version=“1.0” encoding = “UTF-8”?>
<COM>
<REQ name="上海-悠悠">
<USER_ID>yoyoketang</USER_ID>
<COMMODITY_ID>123456</COMMODITY_ID>
<SESSION_ID>absbnmasbnfmasbm1213</SESSION_ID>
</REQ>
</COM>
'''
# 遇到编码报错时候,对body进行encode
r = requests.post(url, data=body.encode("utf-8")) print(r.text)
3、data和json的区别
(1)抓包看头部Content-Type参数:
Content-Type:application/json 这种就是传json参数
Content-Type:application/x-www-form-urlencode 这种就是传data参数
(2)直接看格式
{“name”:“xxxxx”,“password”:“xxxxx”} 这种传json
name1=value1&name2=value2 这种传data参数
python接口自动化之发送post(四)的更多相关文章
- python接口自动化之发送get(三)
1.安装requests requests是python的第三方库,需要进行安装.安装之前最好先关闭fiddler cmd(win+R快捷键)输入:pip install requests 其他命令: ...
- python接口自动化(二十四)--unittest断言——中(详解)
简介 上一篇通过简单的案例给小伙伴们介绍了一下unittest断言,这篇我们将通过结合和围绕实际的工作来进行unittest的断言.这里以获取城市天气预报的接口为例,设计了 2 个用例,一个是查询北京 ...
- Python接口自动化--post提交的四种数据类型 4
常见的post请求提交的数据类型有四种: 1.第一种:application/json:这是最常见的json格式,如下 {"input1":"XXX",&quo ...
- python接口自动化(三十四)-封装与调用--函数和参数化(详解)
简介 前面虽然实现了参数的关联,但是那种只是记流水账的完成功能,不便于维护,也没什么可读性,随着水平和技能的提升,再返回头去看前边写的代码,简直是惨不忍睹那样的代码是初级入门的代码水平都达不到.接下来 ...
- python接口自动化(十)--post请求四种传送正文方式(详解)
简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先 ...
- python接口自动化-Cookie_绕过验证码登录
前言 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以通过添加Cookie的方式绕过验证码 前面在“pyt ...
- python接口自动化3-自动发帖(session)
前言 上一篇模拟登录博客园,但这只是第一步,一般登录后,还会有其它的操作,如发帖,评论等,这时候如何保持会话呢? (敲黑板!!!由于博客园最近登录机制变了,登录全部走cookie登录) 一.sessi ...
- python接口自动化(Cookie_绕过验证码登录)
python接口自动化(Cookie_绕过验证码登录) 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以 ...
- python接口自动化-参数化
原文地址https://www.cnblogs.com/yoyoketang/p/6891710.html python接口自动化 -参数关联(一)https://www.cnblogs.com/11 ...
随机推荐
- R语言矩阵维度“消失”的问题
矩阵(matrix)是R语言中很基础的一种数据结构,也是R语言使用者经常使用的一种数据结构.矩阵的维度一般为二维(m*n). R语言中矩阵的操作是非常简单易懂的,但是在对R语言做矩阵操作时,有个地方需 ...
- Everspin串口串行mram演示软件分析
Everspin在磁存储器设计,制造和交付给相关应用方面的知识和经验在半导体行业中是独一无二的.在平面内和垂直磁隧道结(MTJ)STT-MRAM位单元的开发方面处于市场领先地位.包括40nm,28nm ...
- Phpstorm 2020-01-04试了可用的激活码【亲测可用】WebStrom
[直接点击试用30天] http://myphp.vip/ 测试时间:2018-10-12可用(v2019.2) 测试时间:2019-12-24可用(v2019.2) 测试时间:2020-01-04可 ...
- linux操作系统搭建测试环境
环境:linux操作系统.tomcat服务器.mysql数据库.火狐浏览器 工具:secureCRT.FileZalla 一.安装vmware虚拟机 二.在虚拟机上安装linux操作系统,参考http ...
- java设计模式学习笔记--依赖倒转原则
依赖倒转原则简述 1.高层模块不应该依赖低层模块,二者都应该依赖其抽象 2.抽象不应该依赖细节,细节应该依赖抽象 3.依赖倒转得中心思想时面向接口编程 4.依赖倒转原则时基于这样得设计理念:相对于细节 ...
- ES6之常用开发知识点:入门(一)
ES6介绍 ES6, 全称 ECMAScript 6.0 ,2015.06 发版. let 和 const命令 let命令 let 命令,用来声明变量.它的用法类似于var,区别在于var声明的变量全 ...
- 第3种方法获取redis cluster主从关系
需求:使用cluster slots命令,获取redis cluster 主从对应关系. 说明:cluster slots命令对应的字段说明:http://redis.cn/commands/clus ...
- docker常见操作总结
一.原理 1.Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,它能直接访问物理设备,会给每一台虚拟机分配内存.CPU.网络.磁盘等资 ...
- JDK13.0.1安装与环境变量的配置(Win10平台为例)
一.下载与安装 Oracle官网下载:https://www.oracle.com/technetwork/java/javase/downloads/index.html,点击右侧下载 接受并下载对 ...
- c#中for与foreach的使用
for循环示例: static void Main(string[] args) { string[] s = new string[] { "a,b,c,d,e,f,g" }; ...