糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > python post请求参数化_python - post请求传参

python post请求参数化_python - post请求传参

时间:2019-04-24 17:28:40

相关推荐

python post请求参数化_python - post请求传参

基于自己踩过的坑,百度之后整理的,以备后期忘记之后,回忆回忆。

http协议规定post传输数据必须放在消息体里,但并未规定使用什么编码方式,常见的编码方式有四种:

1、application/x-www-form-urlencoded 浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。

其传参方式为 key=value&key=value&key=value.. 也就意味着是以字符串形式传输

1 importrequests

from urllib import parse2 url='xxxx'

3 str = 'key={"k1": "v1","k2": "k2"}&k2=v2' data = parse.quote(str, safe='=&')# safe 为不转码字符,此例子为 =和& 不做转码

4 headers = {'Content-Type': 'application/x-www-form-urlencoded'}#headers必须要传5 response = requests.post(url, data=data, headers=headers)6 print(response.text)

2、multipart/form-data 使用表单上传文件时,必须让 form 的 enctyped 等于这个值

其传参方式为 files = {'name': (, ,, )} 如果filename 和 content-Type不写,那么响应模拟post的数据就不会有二者。

1 data ={2 'k1':(None, 'v1'), #filename设置为None

3 'k2':(None, 'v2') #4 }5 response = requests.post(url, files=data) #默认headers以multipart/form-data编码

6 print(response.text)

3、application/json消息主体是序列化后的 JSON 字符串

其传参是标准的json格式,不做赘述

4、text/xml 是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范

尚未遇到,不做赘述

如果觉得《python post请求参数化_python - post请求传参》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。