2017-06-21 152 views
3
import requests 
requests.get(path_url, timeout=100) 

在上面的python请求库的用法中,一旦requests.get运行完毕,连接是否自动关闭?如果不是,我怎样才能确定连接已关闭关闭python请求连接

回答

4

是的,在get代码后面有一个session.close的调用。如果使用像PyCharm这样的适当IDE,您可以按照get的代码来查看发生了什么。里面get有要拔打电话:

return request('get', url, params=params, **kwargs) 

在这一request方法的定义,调用session.close而成。

通过下面的链接here的请求回购,有一个叫正在为会话控制提出:

# By using the 'with' statement we are sure the session is closed, thus we 
# avoid leaving sockets open which can trigger a ResourceWarning in some 
# cases, and look like a memory leak in others. 
with sessions.Session() as session: 
    return session.request(method=method, url=url, **kwargs) 
+0

感谢@idjaw,确实你的答案也持如果我叫requests.get()? – user308827

+1

是的。正如答案中所指定的那样,'get'调用可以调用'request'('get'...',就像在我的答案中开始'return'的行中指定的那样。如果你按照我提供的链接,其实也可以看到'get'方法,以及它如何调用'request'。 – idjaw

+1

谢谢@idjaw,非常有帮助 – user308827

相关问题