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

requests钩子中*args和**kwargs会传入哪些内容?

requests响应钩子中*args和**kwargs的传入内容

当你使用requests的response钩子时,do_something函数的*args和**kwargs默认不会传入任何额外参数——除非你在调用请求方法时主动通过hooks配置传递。

默认情况下,钩子函数只会接收到第一个参数:response对象。这是因为requests的钩子机制设计时,默认仅传递响应对象给钩子函数,没有额外的位置参数或关键字参数。

如果你需要给钩子传递额外参数,可以按以下方式配置:

import requests

def do_something(response, *args, **kwargs):
    print(args)  # 会打印('额外参数1', '额外参数2')
    print(kwargs)  # 会打印{'key': '额外关键字参数'}

url = "https://example.com/get/"
# 通过元组和字典传递额外参数给钩子
resp = requests.get(url, hooks={'response': (do_something, ('额外参数1', '额外参数2'), {'key': '额外关键字参数'})})

总结:

  • 默认调用场景下,*args是空元组,**kwargs是空字典
  • 只有当你在配置钩子时,显式传入额外的位置参数元组和关键字参数字典,*args和**kwargs才会有对应的值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 18:45:49