gpt4 book ai didi

python-2.7 - 如何将参数传递给python grequests中的钩子(Hook)

转载 作者:行者123 更新时间:2023-12-04 22:20:25 24 4
gpt4 key购买 nike

根据请求文档,可以将事件 Hook 添加到 .get() 函数。

requests.get('http://httpbin.org', hooks=dict(response=print_url))
def print_url(r, *args, **kwargs):
print(r.url)

这很好,但是如何使用自定义参数设置 *args,例如,我想将一些自定义值传递给 print_url(),如何在 *args 中设置这些值?这样的事情失败了:
args = ("search_item", search_item)
rs = (grequests.get(u, hooks={'response': [parse_books],'args': [args]}) for u in urls)

最佳答案

您不能指定要传递给响应 Hook 的额外参数。如果你想指定额外的信息,你应该创建一个你调用的函数,然后返回一个作为钩子(Hook)传递的函数,例如,

def hook_factory(*factory_args, **factory_kwargs):
def response_hook(response, *request_args, **request_kwargs):
# use factory_kwargs
# etc.
return None # or the modified response
return response_hook

grequests.get(u, hooks={'response': [hook_factory(search_item=search_item)]})

关于python-2.7 - 如何将参数传递给python grequests中的钩子(Hook),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25115151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com