若要解决Aiohttp POST请求没有返回正确的URL的问题,可以检查是否在请求头中添加了“Content-Type”和“Accept”字段。需要确保这两个字段的值正确,并且在请求体中使用了正确的编码格式。以JSON格式为例,应该在请求头中使用“Content-Type: application/json”字段,并且在请求体中使用正确的JSON编码格式。具体的代码示例如下:
import aiohttp
import json
async def make_post_request(url, data):
async with aiohttp.ClientSession() as session:
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
async with session.post(url, data=json.dumps(data), headers=headers) as resp:
response_data = await resp.json()
return response_data['url']
在上面的代码中,使用aiohttp库发送POST请求,并且在请求头中包含了Content-Type和Accept字段。请求体中的数据使用JSON编码格式进行序列化,并且在发送请求时以字符串形式传递,并且最终根据返回的JSON数据提取出正确的URL。