python requests post请求_12.Python使用requests发送post请求

1.我们使用postman进行接口测试的时候,发现POST请求方式的编码有3种,具体的编码方式如下:

A:application/x-www-form-urlencoded ==最常见的post提交数据的方式,以form表单形式提交数据

B:application/json ==以json格式提交数据

C:multipart/form-data ==一般使用来上传文件(较少用)

2.我们使用python做接口测试时,经常使用的方式为:requests.post(url,data),具体我们使用不同的编码方式来做接口测试:

A:Requests以form表单形式发送post请求,具体代码实现如下所示:

import requests,json

url = 'http://httpbin.org/post'

data = {'key1':'value1','key2':'value2'}

r =requests.post(url,data)

print(r)

print(r.text)

print(r.content)

A1:运行结果如下所示:

L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMDM0NjYzLzIwMTgwOC8xMDM0NjYzLTIwMTgwODMwMTAzMDIyNzkyLTczNjEzMjY5LnBuZw==.jpg

B:Requests以json形式发送post请求,具体代码实现如下所示:

import requests,json

url_json = 'http://httpbin.org/post'

data_json = json.dumps({'key1':'value1','key2':'value2'}) #dumps:将python对象解码为json数据

r_json = requests.post(url_json,data_json)

print(r_json)

print(r_json.text)

print(r_json.content)

B1:运行结果如下所示:

L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMDM0NjYzLzIwMTgwOC8xMDM0NjYzLTIwMTgwODMwMTAzNDAxMjgzLTIzNzM3MDE4Ni5wbmc=.jpg

C:Requests以multipart形式发送post请求,具体代码实现如下所示:

import requests,json

url_mul = 'http://httpbin.org/post'

files = {'file':open('E://report.txt','rb')}

r = requests.post(url_mul,files=files)

print(r)

print(r.text)

print(r.content)

C1:运行结果如下所示:

L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMDM0NjYzLzIwMTgwOC8xMDM0NjYzLTIwMTgwODMwMTA0MTMxNDM4LTQyMjU2NzgwOC5wbmc=.jpg

注:E://report.txt==自定义,具体根据自己放的目录来定义,内容随意

Python使用requests发送post请求的三种方式

1.我们使用postman进行接口测试的时候,发现POST请求方式的编码有3种,具体的编码方式如下: A:application/x-www-form-urlencoded ==最常见的post提交数 ...

利用python的requests发送http请求

>>> from requests import put, get >>> put('http://localhost:5000/todo1', data={'da ...

Python+requests 发送简单请求--》获取响应状态--》获取请求响应数据

Python+requests 发送简单请求-->获取响应状态-->获取请求响应数据 1.环境:安装了Python和vscode编译器(Python自带的编译器也ok).fiddler抓包 ...

requests发送HTTP请求

requests库是一个流行的用于发送Http请求的Python第三方库, 其设计简洁高效可以完美替代默认的urllib. 使用pip安装requests: pip install requests ...

requests发送post请求的一些疑点

前言 在Python爬虫中,使用requests发送请求,访问指定网站,是常见的做法.一般是发送GET请求或者POST请求,对于GET请求没有什么好说的,而发送POST请求,有很多朋友不是很清楚,主要 ...

python使用requests发送application/json报文数据

def client_post_jsondata_requests(request_url,requestJSONdata): #功能说明:发送json请求报文到指定的地址并获取请求响应报文 #输入参 ...

[转]python的requests发送/上传多个文件

1.需要的环境 Python2.X Requests 库 2.单字段发送单个文件 在requests中发送文件的接口只有一种,那就是使用requests.post的files参数, 请求形式如下:   ...

使用 requests 发送 POST 请求

POST请求也就是向服务器提交数据,通常我们用来提交表单数据: import requests postdata = { //定义表单数据 "username": "ab ...

requests发送HTTPS请求(处理SSL证书验证)

1.SSL是什么,为什么发送HTTPS请求时需要证书验证? 1.1 SSL:安全套接字层.是为了解决HTTP协议是明文,避免传输的数据被窃取,篡改,劫持等. 1.2 TSL:Transport Lay ...

随机推荐

iOS - Swift Closure		闭包

1.Closure 闭包在 Swift 中非常有用.通俗的解释就是一个 Int 类型里存储着一个整数,一个 String 类型包含着一串字符,同样,闭包是一个包含着函数的类型.有了闭包,你就可以处理很 ...

1503 - A PRIMARY KEY must include all columns in the table's partitioning function

1503 - A PRIMARY KEY must include all columns in the table's partitioning function 错误的原因:表的主键字段必须包含分 ...

【CSS3】---:before :after生成内容

在Web中插入内容,在CSS2.1时代依靠的是JavaScript来实现.但进入CSS3进代之后我们可以通过CSS3的伪类“:before”,“:after”和CSS3的伪元素“::before”.“ ...

JAVA vo pojo javabean dto的区别

JavaBean 是一种JAVA语言写成的可重用组件.为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器.JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性 ...

Linux基础知识(二)

1. 请回答,32位和64位有什么区别呢?什么时候安装32位的,又什么时候安装64位操作系统呢?如何查看系统是32位的还是64位的? 所谓的32位.64位指的是CPU的GPRs(General-Pur ...

ajax form表单提交 input file中的文件

ajax form表单提交 input file中的文件 现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件, 为了 ...

zookeeper C API

typedef void (*watcher_fn)(zhandle_t *zh, int type, int state, const char *path,void *watcherCtx); w ...

Repeater绑定事件ItemDataBound中获取数据库中数据

protected void rp1_ItemDataBound(object sender, RepeaterItemEventArgs e)        { if (e.Item.ItemTyp ...

zoj1654 Place the Robots 二分图最大匹配

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=654 将每一行的包含空地的区域编号 再将每一列的包含空地的区域编号 然 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值