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

上記のpythonリクエストライブラリの使用では、requests.getが実行されると自動的に接続が終了しますか?そうでない場合は、接続が切断されていることを確実に確認するにはどうすればいいですか閉じるPythonリクエストの接続

答えて

4

はい、getコードの後ろにsession.closeが呼び出されています。たとえば、PyCharmのような適切なIDEを使用している場合は、getコードに従って何が起こっているのかを見ることができます。

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

session.closeへの呼び出しが行われることrequest方法、の定義の中に:get内部要求への呼び出しがあります。リクエストレポへのリンクhereに従うことにより

は、セッション制御のために作られているコールがあります:私は()requests.getを呼び出す場合

# 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は、あなたの答えも保持していますか? – user308827

+1

はい。答えで指定されているように、 'get'呼び出しは私の答えで' return'を開始する行に指定された 'request( 'get' ...')を呼び出します。実際には 'get'メソッドがあり、' request'メソッドを呼び出す方法もあります。 – idjaw

+1

@idjawに感謝しています。 – user308827

関連する問題