解决aiohttp post请求httpbin网页 data参数失效

本文介绍了在使用aiohttp进行异步POST请求时遇到data参数失效的问题,问题根源在于headers中的Content-Length值为0。通过删除这个属性解决了问题。作者分享了从发现到解决的过程,提醒读者注意此类细节。
摘要由CSDN通过智能技术生成

解决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能力【汗颜】

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值