formdata 嵌套_Requests发Post请求data里面嵌套字典-程序员宅基地

技术标签: formdata 嵌套  

一、Post请求,data里面嵌套字典

Requests发Post请求,data里面嵌套字典的常见形式如下:

info = {

"appid": "123",

"checkin_type": "6",

"role": "1",

"stunum": "15812086122"

}

form_data = {

'Data': '%s' % info,

'MsgType': 'APP_SEND_CARDCHECKIN_BYSTUNUM'

}

result = requests.post(url, data=form_data)

需提别注意的是,一定要用'Data': '%s' % info格式化输出这种形式把嵌套的字典传给Data,如果直接将info当做value赋值给Data,即,'Data': info,请求是不成功的

{'error_code': '505', 'error_msg': 'Data格式不正确参数验证失败'}

通常当post传入data参数时候,请求格式一般为Content-Type: application/x-www-form-urlencoded格式,按照官方的说法数据字典在发出请求时会自动编码为表单形式,所以是不是因为这个原因,data中嵌套的字典需要处理成字符串才能正常发post,这点暂存疑惑???

二、Post常见用的请求方式

传参为json格式

通过抓包后,转换为raw格式,可以看到Content-Type: application/json

import requests

import josn

payload = {

'a': 1

'b': 2

}

# 方法一,将payload转为josn格式

payload = josn.jump(payload)

res = requests.post(url, data=payload)

# 方法二,直接用josn参数传递

res = requests.post(url, josn=payload)

传参为form-data格式

通过抓包后,转换为raw格式,可以看到Content-Type: application/x-www-form-urlencoded,此时直接把字典payload传给参数data即可,此处就需要注意的是,如果payload里面嵌套字典,切记要先将其转为字符串形式,然后再入参

import requests

payload = {

'a': 1

'b': 2

}

res = requests.post(url, data=payload)

传参带文件

post上传文件,首先需要构造file,格式如下,fp为文件路径,然后将构造好的file传给files即可

import requests

file = {

'file_name': open(fp, 'rb')

}

res = requests(url, files=file)

OK!

~

~

~

不积跬步,无以至千里

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39856607/article/details/112845089

智能推荐

双机热备概念原理及实现步骤_双机热备 csdn-程序员宅基地

文章浏览阅读4.4k次,点赞6次,收藏15次。1.双机热备对于双机热备这一概念,我搜索了很多资料,最后,还是按照大多数资料所讲分成广义与狭义两种意义来说。从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。从狭义上讲,双机热备就是使用互为备份的两台服务器共同执行同一服务,其中一台主机为工作机(P_双机热备 csdn

java+Springboot+mysql动物领养系统43565-计算机毕业设计项目选题推荐(赠源码)-程序员宅基地

文章浏览阅读482次。动物领养系统是基于浏览器与服务器架构平台,采用跨平台的JAVA语言开发,利用springboot框架进行逻辑控制,MySQL数据库存储数据,最后Tomcat服务器完成发布,系统可在多个环境下运行。

uniapp使用教程(包括下载、初次使用以及使用中的一些细节总结)-程序员宅基地

文章浏览阅读2.4w次,点赞19次,收藏132次。记录,以防后面忘记感觉uniapp就是vue的语法结构、小程序的api和标签 这两者混合起来使用1、下载,参考之前的博文https://blog.csdn.net/mao871863224/article/details/1093287492、开始使用:(1)一般在pages.json里面进行页面的全局配置(参照官方文档https://uniapp.dcloud.io/collocation/pages)pages.json这里面配置的主要内容包括:所有页面路径、全局的外观、底部tabBar、生_uniapp

我的完整版mbti职业性格测试-程序员宅基地

文章浏览阅读2.2k次。分析报告[您的类型趋向为:INTP (内向 直觉 思维 知觉)] 您的基本数据(图): 您的(INTP)总得分为: 311 + I80 N80 T91 P60本报告的目的:帮助你开始了解和分析最真实的自己,协助你迈出职业定位和职业规划的第一步,从人格类型的角度描述了个体的适合岗位特质和你的发展建议。..._怎么做mbti性格测试功能及报告结果

自我介绍--第一次写博客_自己的博客介绍语-程序员宅基地

文章浏览阅读142次。【自我介绍–第一次写博客】在当今这个信息社会作为一名软件工程专业的学生尤其是进入大三的学生我感到了更加的焦虑,担心凭借自己当前的知识储备还不足以在大四找到一份令自己满意的工作。而在这已经过去的两年大学生活中自己在编程上并没有花太多的时间进行细致的学习以致于自己现在编程能力特别差。过去无可厚非,只能把握现在尽自己的最大的努力提升自己的技能。在接下来的一年中我打算尽自己最大的努力去学好一门编程语言,当然学好的前提是自己每天都可以抽出时间进行编程学习以及编码,只有多写代码才能使自己更好的掌握一门编程语言并且提_自己的博客介绍语

2020-09-09_it looks like you are trying to access mongodb ove-程序员宅基地

文章浏览阅读155次。Windows端安装MongoDB大家伙好,俺是零零柒,最近用到MongoDB,记录本次踩坑之旅,美滋滋~MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。今天就先记录下MongoDB的安装过程:安装包获取地址:下载安装包戳这里,使劲儿!直接下载zip包就可以,解压就能用,非常爽~安装MongoDB我直接_it looks like you are trying to access mongodb over http on the native drive

随便推点

深度学习物体检测(一)——RCNN_深度学习计算图片中某一部分的面积-程序员宅基地

文章浏览阅读3.8k次,点赞2次,收藏10次。RCNN(Region CNN) 是用深度学习进行物体检测的开山之作。先将候选区域通过selective search检测出来(2000个左右),然后根据cnn提取的每一个候选区域特征送入svm进行分类,得到一个物体类别和边框,最后利用回归算法微调得到具体的边框。_深度学习计算图片中某一部分的面积

react组件children变化不触发视图更新_react.children不刷新-程序员宅基地

文章浏览阅读1.3k次。文章目录一、文章参考二、props.children2.1 快速入门2.2 函数组件获取children2.3 class组件获取children三、React.Children3.1 API 介绍四、react组件children变化不触发视图更新4.1 问题介绍4.2 问题分析4.3 渲染知识点4.4 解决办法一、文章参考React.Children API 介绍二、props.children它包含组件的开始标签和结束标签之间的内容2.1 快速入门在组件之间,添加元素内容,例如:_react.children不刷新

spring boot 整合finereport_springcloud集成finereport-程序员宅基地

文章浏览阅读1.3w次。Spring boot 整合finereport 8.0过程1. 参考资料http://bbs.fanruan.com/thread-100507-1-1.html 整合资料,本人按照此文档进行整理,最后整理成功,进行了整理的补充2. 首先需要下载finereport所需要的jar包,稍后会整理到一起,方便大家使用,下载finereport的安装文件也可以,安装之后,会在lib_springcloud集成finereport

json对象中某个key的值为null,就不会显示_js json字符串解析不了key为null的-程序员宅基地

文章浏览阅读6.5k次,点赞4次,收藏4次。我真的是醉了。。。。今天调试接口,,,因为是调用的第三方的接口,所以不太确定接口响应的报文是否 都有 对方提供的接口文档中的所有字段,,接口开发完成了,然后进行接口调试,,然后就发生了一件让我怀疑人生的事情,这个是调用第三方接口响应的报文,刷的日志缺少了很多他们提供的接口文档中的响应字段,但是,postman里面的响应报文又有这些字段,只不过这些字段都是空的而已,,然后..._js json字符串解析不了key为null的

Netty使用篇:自定义编解码器_netty自定义编码器和解码器-程序员宅基地

文章浏览阅读2.1w次,点赞2次,收藏7次。Netty使用篇:自定义编解码器_netty自定义编码器和解码器

程序员面试金典: 9.7位操作 7.4只用加号实现整数的乘法、减法和除法运算_请编写一个方法只使用加号实现乘除减法运算-程序员宅基地

文章浏览阅读764次。#include #include using namespace std;/*问题:编写方法,实现整数的乘法、减法和除法运算。只允许使用加号。分析:乘法比较简单,x*y等于将x连续累加y次,但要注意符号问题,若y为负数,最终结果需要取反 减法:x - y = x + (-y),最关键就是要对y取反。 取反的方法是: 如果y>0,那么令d=-1,sum=_请编写一个方法只使用加号实现乘除减法运算

推荐文章

热门文章

相关标签