2017-06-21 27 views
3

In der oben genannten Verwendung von Python-Anfragen Bibliothek, schließt die Verbindung automatisch einmal requests.get ausgeführt wird? Wenn nicht, wie kann ich sicherstellen, dass die Verbindung geschlossen istSchließen von Pythonanfragen Verbindung

Antwort

4

Ja, es gibt einen Anruf an eine session.close hinter dem get Code. Wenn Sie eine geeignete IDE wie zB PyCharm verwenden, können Sie dem Code get folgen, um zu sehen, was passiert. Innerhalb get gibt es einen Aufruf zur Anfrage:

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

Innerhalb der Definition dieser request Methode, wird der Anruf an session.close gemacht.

über den Link here auf die Anfragen Repo, gibt es einen Aufruf für die Sitzungssteuerung vorgenommen werden:

# 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

dank @idjaw, wird Ihre Antwort auch halten, wenn ich requests.get() aufrufen? – user308827

+1

Ja. Wie in der Antwort angegeben, ruft der Aufruf "get" einen Aufruf an "request ('get' ...' 'wie in der Zeile angegeben, die in meiner Antwort den' return 'beginnt. Wenn Sie dem angegebenen Link folgen, werden Sie siehe auch die 'get' Methode dort und wie es den Aufruf zu' request' macht. – idjaw

+1

danke @idjaw, sehr hilfreich – user308827

Verwandte Themen