构造post请求时需要注意点:

通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json。

如果是urlencoded 格式 data=字典
如果是json格式的 data=json字符串 或者json=字典post底层会自动转换为json格式

1、不管json是str还是dict,如果不指定headers中的content-type,默认为application/json
2、data为dict时,如果不指定content-type,默认为application/x-www-form-urlencoded,相当于普通form表单提交的形式
3、data为str时,如果不指定content-type,默认为application/json
4、multipart/form-data类型:multipart/form-data主要用于文件上传,
当我们使用它时,必须让 form表单的enctype 等于 multipart/form-data
files = {"file": open("C:/Users/Administrator/Desktop/test.txt", "rb")}
r = requests.post("http://httpbin.org/post", files=files) 注意:消息体格式嵌套
外部格式>内部格式 外部表单+内部json
内部json格式的需要手动填入json格式字符串,或者使用dumps()函数转换下
具体代码:
info = json.dumps({"name":"lll","desc":"test","display_idx":"4",})
r3 = requests.post("http://localhost/api/mgr/sq_mgr/",
data={"action":"add_course",
"data":info})
r3 = requests.post("http://localhost/api/mgr/sq_mgr/",
data={"action":"add_course",
"data":'''
{"name":"lll","desc":"test","display_idx":"4"}
'''})
 
 

最新文章

  1. android系统中自带的一些ThemeStyle
  2. Java里List取并集方法retainAll不能用来判断是否有重复数据!
  3. iOS之block
  4. Elasticsearch多索引
  5. 数据库连接池(DBCP:为数据统一建立一个缓冲池,现在企业开发使用)
  6. supersocket中quickstart文件夹下的MultipleCommandAssembly的配置文件分析
  7. HDU 1527 (Wythoff 博弈) 取石子游戏
  8. Linux 中使用 KVM
  9. libstdc++.so.5: cannot open shared object file: No such file or directory
  10. Java系列--第五篇 基于Maven的SSME之Token及Parameterized单元测试
  11. Android应用开发基础篇(2)-----Notification(状态栏通知)
  12. ASP.NET中的C#基础知识
  13. swift中JSon数据的处理
  14. 02: OpenStack
  15. Petrozavodsk Winter Camp, Andrew, 2014, Bipartite Bicolored Graphs
  16. selenium 初探
  17. 查找最大或最小的 N 个元素
  18. Android Touch事件之二:dispatchTouchEvent()和onTouchEvent()篇
  19. MySQL中正则表达式
  20. DB2如何将数据库表解锁

热门文章

  1. springMVC返回json数据乱码问
  2. ubuntu apt-get 安装jdk
  3. linux 结束某个进程,并且结束子进程
  4. Multi-Channel Buffers
  5. 开源录屏软件Capture推荐
  6. Fiddler抓包工具的简单使用
  7. 修改IP地址之后认证信息问题
  8. LeetCode176——第二高的薪水
  9. Hive drop table,create table没有反应处理方法
  10. LeetCode 1259. Handshakes That Don't Cross - Java - DP