Python - 如何解决 Web 服务器连接限制
Python - How to workaround web server connection limit
我有一个带网络服务器的供暖系统,我想从这个网络服务器读取数据。问题在于 Web 服务器的限制 - 最大值。连接数为 6。我写了一些简单的脚本来获得 XML(供暖系统基于 XML)。此脚本运行良好,但每分钟只能调用 6 次。我尝试在获取数据后强制 Python 关闭连接,但连接保持打开状态。
你知道如何强制远程 Web 服务器关闭连接吗?
我的简化代码:
import requests
from pprint import pprint
s = requests
s.keep_alive = False
link1 = "http://some_ip/TOP1.XML"
f = s.get(link1, headers={'Connection':'close', "Timeout":"5000"})
pprint(vars(f))
来自请求 docs:
( ... ) 因此,如果您向同一主机发出多个请求,底层的 TCP 连接将被重用,这会显着提高性能(请参阅 HTTP 持久连接) .
我会尝试使用会话对象并重用 TCP 连接。
s = requests.Session()
s.get(url)
可能您想了解 keep-alive
我有一个带网络服务器的供暖系统,我想从这个网络服务器读取数据。问题在于 Web 服务器的限制 - 最大值。连接数为 6。我写了一些简单的脚本来获得 XML(供暖系统基于 XML)。此脚本运行良好,但每分钟只能调用 6 次。我尝试在获取数据后强制 Python 关闭连接,但连接保持打开状态。
你知道如何强制远程 Web 服务器关闭连接吗?
我的简化代码:
import requests
from pprint import pprint
s = requests
s.keep_alive = False
link1 = "http://some_ip/TOP1.XML"
f = s.get(link1, headers={'Connection':'close', "Timeout":"5000"})
pprint(vars(f))
来自请求 docs:
( ... ) 因此,如果您向同一主机发出多个请求,底层的 TCP 连接将被重用,这会显着提高性能(请参阅 HTTP 持久连接) .
我会尝试使用会话对象并重用 TCP 连接。
s = requests.Session()
s.get(url)
可能您想了解 keep-alive