使用Requests Python库时的钩子问题
我在使用requests
这个模块时,当我开始使用钩子(hooks)的时候收到了这个消息。
File "/Library/Python/2.7/site-packages/requests-1.1.0-py2.7.egg/requests/sessions.py", line 321, in request
resp = self.send(prep, **send_kwargs)
File "/Library/Python/2.7/site-packages/requests-1.1.0-py2.7.egg/requests/sessions.py", line 426, in send
r = dispatch_hook('response', hooks, r, **kwargs)
File "/Library/Python/2.7/site-packages/requests-1.1.0-py2.7.egg/requests/hooks.py", line 41, in dispatch_hook
_hook_data = hook(hook_data, **kwargs)
TypeError: hook() got an unexpected keyword argument 'verify'
这是我的代码(简化版):
import requests
def hook(r):
print r.json()
r = requests.get("http://search.twitter.com/search.json?q=blue%20angels&rpp=5", hooks=dict(response=hook))
1 个回答
21
根据requests的文档,你的钩子函数不需要接受任何关键字参数。但是根据GitHub上的源代码,事件调度器可能会把关键字参数传递给你的钩子函数。对我来说,这看起来像是不完整的文档。你可以把你的方法重新定义为:
def hook(r, **kwargs):
# ...