gpt4 book ai didi

python - xmlrpclib 客户端请求超时

转载 作者:太空狗 更新时间:2023-10-30 01:39:39 26 4
gpt4 key购买 nike

我正在使用 Python 的 xmlrpclib 向 xml-rpc 服务发出请求。

有没有办法设置客户端超时,这样当服务器不可用时我的请求就不会永远挂起?

我知道我可以使用 socket.setdefaulttimeout() 全局设置套接字超时,但这不是可取的。

最佳答案

干净的方法是定义和使用自定义传输,例如:!这仅适用于 python2.7!

import xmlrpclib, httplib

class TimeoutTransport(xmlrpclib.Transport):
timeout = 10.0
def set_timeout(self, timeout):
self.timeout = timeout
def make_connection(self, host):
h = httplib.HTTPConnection(host, timeout=self.timeout)
return h

t = TimeoutTransport()
t.set_timeout(20.0)
server = xmlrpclib.Server('http://time.xmlrpc.com/RPC2', transport=t)

the docs 中有一个定义和使用自定义传输的示例,尽管它将它用于不同的目的(通过代理访问,而不是设置超时),但这段代码基本上是受该示例启发的。

关于python - xmlrpclib 客户端请求超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2425799/

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