zoukankan      html  css  js  c++  java
  • requests中构造post请求注意点

    构造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"}
    '''})
     
     
  • 相关阅读:
    Python封装发送信息到钉钉群
    centos 7.6 安装php70
    小米5s plus刷机
    centos 7 安装webmin
    交易开拓者旗舰版(TB旗舰版)软件升级中如何迁移用户数据
    centos 7.6 修改vim配色方案
    centos 7.0 读写ntfs分区
    centos iptables 数据转发
    centos 7.6 配置VNC
    win下maridb 10.1.8下主从复制配置
  • 原文地址:https://www.cnblogs.com/aiyumo/p/11764193.html
Copyright © 2011-2022 走看看