HTTPプロトコルでは、キープアライブを使用して1つのソケットで多くの要求を送信し、サーバーから一度に応答を受信できるため、プロセス全体が大幅に高速化されます。 python requests lib?
はいあります。つかいます - requests.Session
および デフォルトでキープアライブを行います 。
私は簡単な例を含める必要があると思います:
import logging
import requests
logging.basicConfig(level=logging.DEBUG)
s = requests.Session()
s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
s.get('http://httpbin.org/cookies/set/anothercookie/123456789')
r = s.get("http://httpbin.org/cookies")
print(r.text)
これらのログメッセージが発生することに注意してください。
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): httpbin.org
DEBUG:requests.packages.urllib3.connectionpool:"GET /cookies/set/sessioncookie/123456789 HTTP/1.1" 302 223
DEBUG:requests.packages.urllib3.connectionpool:"GET /cookies HTTP/1.1" 200 55
DEBUG:requests.packages.urllib3.connectionpool:"GET /cookies/set/anothercookie/123456789 HTTP/1.1" 302 223
DEBUG:requests.packages.urllib3.connectionpool:"GET /cookies HTTP/1.1" 200 90
DEBUG:requests.packages.urllib3.connectionpool:"GET /cookies HTTP/1.1" 200 90
少し待って、最後のget
呼び出しを繰り返す場合
INFO:requests.packages.urllib3.connectionpool:Resetting dropped connection: httpbin.org
DEBUG:requests.packages.urllib3.connectionpool:"GET /cookies HTTP/1.1" 200 90
ドロップされた接続をリセットする、つまり、サーバーへの接続を再確立して新しい要求を行うことに注意してください。