当前位置:   article > 正文

关于post请求的三种参数【params,data,json】_post请求的params

post请求的params

基础不牢,地动山摇~
处理海外某网站发帖接口时候,接口参数都逆完了,最后用aiohttp 发送post请求,发现结果怎么都不对。最后一看 post 参数传入姿势不对。于是乎,仔细研究了一下。
当使用 aiohttp 发送 POST 请求时,存在三种不同的参数:params、data 和 json。它们在如何发送数据以及发送什么类型的数据上有不同的用途。以下是它们的区别:

params参数:

  • params 参数通常用于发送 URL 查询参数。
  • 这些参数会附加到请求的 URL 中,并以 key=value 的形式出现,用 & 符号分隔多个参数。就拼接在url 问号?后面的东西。
    示例:
import aiohttp

async with aiohttp.ClientSession() as session:
    params = {'wd': 'xxx'}
    async with session.get('https://www.baidu.com/s', params=params) as response:
        ...
# 也可以写成
url = 'https://www.baidu.com/s?wd=xxx'
async with aiohttp.ClientSession() as session:
    async with session.get(url, params=params) as response:


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

data参数:

data 参数通常用于发送表单数据,如提交 HTML 表单时。

  • 数据将以表单形式编码,并发送到服务器。
  • 可以发送键值对、文件上传等数据。
  • 通常发送的数据是字典或类似的数据结构。
  • 在header中’Content-Type’ 字段’application/x-www-form-urlencoded’

示例:

import aiohttp

async with aiohttp.ClientSession() as session:
    data = {'field1': 'xxx', 'field2': 'xxxx'}
    async with session.post('https://xxx.com/submit', data=data) as response:
        ...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

json参数:

json 参数用于发送 JSON 格式的数据,通常用于 RESTful API 请求。

  • 数据将以 JSON 格式编码,header中Content-Type 头部为 application/json。
  • 通常发送的数据是 Python 字典,然后在发送时自动序列化为 JSON。
    示例:
import aiohttp

async with aiohttp.ClientSession() as session:
    json_data = {'key1': 'xxx', 'key2': 'xxxx'}
    async with session.post('https://xxx.com/api', json=json_data) as response:
        ...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

总结一句话:

  • url链接能看到用params。
  • Content-Type 为 application/x-www-form-urlencoded 用data。
  • Content-Type 为 application/json,用json。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/1007026
推荐阅读
相关标签
  

闽ICP备14008679号