You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

嵌套关键字参数触发TypeError:requests.Session.send调用异常分析

问题原因解析

核心问题:参数传递链不兼容

你的垫片send函数接收了自定义参数myflag,但这个参数并不在requests.Session.send以及它后续调用的适配器方法的参数列表里:

  • 当你把**kwargs原封不动传给super().send()时,myflag会跟着一起传递给父类的send方法
  • requests.Session.send本身不会处理这个陌生参数,会直接把所有收到的kwargs转发给底层的适配器(比如HTTPAdapter.send)
  • 而适配器的send方法只认它自己定义的参数(像timeout、verify、proxies这些),碰到myflag这种没定义过的参数,自然就抛出TypeError了

为什么移除myflag就能解决?

myflag是你的垫片自己加的扩展参数,不属于requests原生方法的参数约定。在调用父类方法前删掉它,相当于:

  • 把垫片专属的参数拦截下来,只传父类方法能识别的参数
  • 遵守了函数调用的参数规矩,避免把“不合法的参数”传给不支持它的下游方法

额外提示

如果你的垫片需要用myflag做逻辑判断,记得在移除它之前完成相关处理,再把清理后的kwargs传给父类的send方法。

内容的提问来源于stack exchange,提问作者Rob Grossman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 07:50:29