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"}
    '''})
     
     
  • 相关阅读:
    TP5多条件搜索,同时有必要条件
    微信支付模式二 统一下单一直提示签名错误
    Js选择器总结
    video.js视频播放插件
    chosen 下拉框
    在MySQL中实现Rank高级排名函数
    解决html页面英文和数字不自动换行,但中文就可以自动换行
    php去除html标签
    day29 继承
    day28 作业
  • 原文地址:https://www.cnblogs.com/aiyumo/p/11764193.html
Copyright © 2011-2022 走看看