解决aiohttp post请求httpbin网页 data参数失效
一、本篇简单介绍 和 处理方案
1. 问题
刚学习
aiohttp
库, 使用http://httpbin.org
去测试各种请求
-
get 请求是没问题的
-
post请求:
使用 postman 快速生成 代码,然后放到 parcharm 运行import requests url = "http://httpbin.org/post" payload={'name': '张三'} headers = { 'Connection': 'keep-alive', 'Content-Length': '0', 'Pragma': 'no-cache', 'Cache-Control': 'no-cache', 'accept': 'application/json', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36', 'Origin': 'http://httpbin.org', 'Referer': 'http://httpbin.org/', 'Accept-Language': 'zh-CN,zh;q=0.9' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
-
使用 requests 库是可以运行的
-
aiohttp 异步请求:
没有data数据的传入
问题原因
经过小生百般测试, 发现问题原因在于 headers 这儿
问题在于 请求头中 的 headers
headers 有个属性 Content-Length 值为0的原因
解决办法
删除 headers 中 Content-Length属性
二、文末
花费好长时间解决掉这个问题,问题或许很简单, 但是问题之处却不好弄,需要好好锻炼自己的找bug能力【汗颜】