python接口自动化之发送post(四)
2024-10-01 10:36:43
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参数
最新文章
- iOS开发之SQLite--C语言接口规范(三)——Binding Values To Prepared Statements
- CF451E Devu and Flowers (隔板法 容斥原理 Lucas定理 求逆元)
- ContentProvider要点复习
- XXX项目总结
- Hex编码字节
- HTML页面定时跳转方法
- LDM和STM指令
- 读logback源码系列文章(五)——Appender --转载
- IO_REMOVE_LOCK使用方法小结(转载加改正)
- 几个常用方法有效优化ASP.NET的性能
- HashMap底层结构、原理、扩容机制
- MySQL出现too many connections(1040)错误解决方法
- TVB三个台
- HTML5学习笔记(十六):原型、类和继承【JS核心知识点】
- javascript 奇技淫巧45招
- ThreeJS实现波纹粒子效果
- 大数据统计分析平台之三、Kibana安装和使用
- 用java在客户端读取mongodb中的数据并发送至服务器
- (三)配置Hadoop1.2.1+eclipse(Juno版)开发环境,并运行WordCount程序
- 关于jQuery获得表单radio类型输入框的选中值