我试图关闭requests.Session()
,但它没有关闭。在
s = requests.Session()
s.verify = 'cert.pem'
res1 = s.get("https://<ip>:<port>/<route>")
s.close() #Not working
res2 = s.get("https://<ip>:<port>/<route>") # this is still working which means s.close() didn't work.
如何关闭会话?s.close()
没有抛出任何错误,这也意味着它是一个有效的语法,但我不知道它到底在做什么。在
在
requests
的源代码中,Session.close
只关闭所有底层Adapter
。进一步关闭Adapter
是在清除底层的PoolManager
。然后所有的 此PoolManager
内建立的连接将被关闭。但是如果没有可用的连接,PoolManager
将创建一个新的连接。在关键代码:
所以如果我很好地理解它的结构,当你关闭一个
Session
时,你几乎和创建一个新的Session
并将其分配给旧的一样。所以你仍然可以用它来发送请求。在或者如果我误解了什么,欢迎纠正我:D
相关问题 更多 >
编程相关推荐