赞
踩
基础不牢,地动山摇~
处理海外某网站发帖接口时候,接口参数都逆完了,最后用aiohttp 发送post请求,发现结果怎么都不对。最后一看 post 参数传入姿势不对。于是乎,仔细研究了一下。
当使用 aiohttp 发送 POST 请求时,存在三种不同的参数:params、data 和 json。它们在如何发送数据以及发送什么类型的数据上有不同的用途。以下是它们的区别:
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:
data 参数通常用于发送表单数据,如提交 HTML 表单时。
示例:
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:
...
json参数:
json 参数用于发送 JSON 格式的数据,通常用于 RESTful API 请求。
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:
...
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。