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(四)的更多相关文章

  1. python接口自动化之发送get(三)

    1.安装requests requests是python的第三方库,需要进行安装.安装之前最好先关闭fiddler cmd(win+R快捷键)输入:pip install requests 其他命令: ...

  2. python接口自动化(二十四)--unittest断言——中(详解)

    简介 上一篇通过简单的案例给小伙伴们介绍了一下unittest断言,这篇我们将通过结合和围绕实际的工作来进行unittest的断言.这里以获取城市天气预报的接口为例,设计了 2 个用例,一个是查询北京 ...

  3. Python接口自动化--post提交的四种数据类型 4

    常见的post请求提交的数据类型有四种: 1.第一种:application/json:这是最常见的json格式,如下 {"input1":"XXX",&quo ...

  4. python接口自动化(三十四)-封装与调用--函数和参数化(详解)

    简介 前面虽然实现了参数的关联,但是那种只是记流水账的完成功能,不便于维护,也没什么可读性,随着水平和技能的提升,再返回头去看前边写的代码,简直是惨不忍睹那样的代码是初级入门的代码水平都达不到.接下来 ...

  5. python接口自动化(十)--post请求四种传送正文方式(详解)

    简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先 ...

  6. python接口自动化-Cookie_绕过验证码登录

    前言 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以通过添加Cookie的方式绕过验证码 前面在“pyt ...

  7. python接口自动化3-自动发帖(session)

    前言 上一篇模拟登录博客园,但这只是第一步,一般登录后,还会有其它的操作,如发帖,评论等,这时候如何保持会话呢? (敲黑板!!!由于博客园最近登录机制变了,登录全部走cookie登录) 一.sessi ...

  8. python接口自动化(Cookie_绕过验证码登录)

     python接口自动化(Cookie_绕过验证码登录) 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以 ...

  9. python接口自动化-参数化

    原文地址https://www.cnblogs.com/yoyoketang/p/6891710.html python接口自动化 -参数关联(一)https://www.cnblogs.com/11 ...

随机推荐

  1. 【python基础语法】函数的作用域和内置函数和关键字(第7天课堂笔记)

    一.函数的作用域: 1.全局变量 2.局部变量 3.global 二.内置函数 1.常见的内置函数 print : 输出 input : 输入 type : 查看数据类型 id : 获取数据的内存地址 ...

  2. 高级UI组件

    1.进度条 (1).圆形进度条(一般默认为圆形进度条) <ProgressBar android:layout_width="wrap_content" android:la ...

  3. Lucene索引维护(添加、修改、删除)

    1. Field域属性分类 添加文档的时候,我们文档当中包含多个域,那么域的类型是我们自定义的,上个案例使用的TextField域,那么这个域他会自动分词,然后存储            我们要根据数 ...

  4. vsftp配置遇到的一些问题

    设置匿名登陆的时候,要保证 /var/ftp/ 的所有者 是root,不然会一直提示输入用户名和密码,无法登陆! 上传的权限 local_umask =002 以及 匿名用户 anon_umask=0 ...

  5. thinkphp论坛项目开发

    效果图 首先是数据库 /* Navicat MySQL Data Transfer Source Server : xm Source Server Version : 50553 Source Ho ...

  6. Minion 主机同步失败问题,全过程

    如果出现以下状态 token也有了 这个是salt-api  说明你salt-api没问题 点击同步主机 查看你产品线管理那里,添加了你这个salt-api没? 配置参考文档 https://gith ...

  7. C++ lambda函数及其用法(转)

    由于接触C++不久,很多东西比较陌生,今天看阿里云OSS的C++ SDK文件下载部分例子,发现有如下lambda表达式用法,故了解一下相关知识 /*获取文件到本地文件*/ GetObjectReque ...

  8. Java设计模式(工厂模式)

    一.简单工厂模式 简单工厂模式就是把对类的创建初始化全都交给一个工厂来执行,而用户不需要去关心创建的过程是什么样的,只用告诉工厂我想要什么就行了.而这种方法的缺点也很明显,违背了设计模式的开闭原则,因 ...

  9. mysql常用函数及关键字汇总

    关键字 1...mysql包含之in SELECT count(1) as count FROM 表名 a,表名 b WHERE a.主键 = b.外键  and a.字段 in('1','2,'3' ...

  10. Csla One or more properties are not registered for this type

    在实际运行中,好好运行的程序出现了以下问题: 2019-12-27 10:40:00,164 [DefaultQuartzScheduler_Worker-2] ERROR IBeam.BCPool. ...