• Python 使用requests发post请求时是用data?还是json?


    大家平时都用requests模块,刚学得时候,用post请求总不知道传data还是json?

    data版post请求:

    requests.post(guggle_url, headers=guggle_headers, data=guggle_data)

    json版post请求:

    requests.post(guggle_url, headers=guggle_headers, json=guggle_data)

    特别是在抓取别人的接口时,用对了,有数据,没用对,参数无论多么正确,始终是获取数据失败

    其实主要看两点
    1.Content-Type
    2.传递数据是Form Data还是Request Payload

    以海底捞APP的活动页面为例(见下图),

    1.Content-Type为application/x-www-form-urlencoded
    2.传递数据用的Form Data

    这里需要用data才能获取数据

    requests.post(guggle_url, headers=guggle_headers, data=guggle_data)

    data请求的实质:(以访问www.baidu.com, 需要传递 {“a”:1,“b”:2})

    向www.baidu.com发了POST请求,传递了a=1&b=2

    以快手APP的活动页面为例(见下图)

    1.Content-Type为application/json;charset=UTF-8
    2.传递数据用的Request Payload

    这里需要用json才能获取数据

    requests.post(guggle_url, headers=guggle_headers, json=guggle_data)

    json请求的实质:(以访问www.baidu.com, 需要传递 {“a”:1,“b”:2})

    向www.baidu.com发了POST请求,传递了 {“a”:1,“b”:2}


    ————————————————
    版权声明:本文为CSDN博主「远古某人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/guggle15/article/details/120001143

  • 相关阅读:
    C语言-第0次作业
    ubuntu 安装maven
    微服务运行在 Docker 之上
    docker入门
    springcloud-Sleuth 与 Zipkin 结合图形化展示
    Spring Cloud Config 配置管理
    springcloud-Zuul 网关
    springcloud-Hystrix 容错处理
    springcloud-Feign 声明式 REST 调用
    springcloud-Ribbon 客户端负载均衡
  • 原文地址:https://www.cnblogs.com/hanfanfan/p/16281236.html
Copyright © 2020-2023  润新知