xticks barplot python http python-requests python-sockets

python - barplot - pandas plot



Las solicitudes de Python aceleran usando keep-alive (1)

Sí hay. Use requests.Session y mantendrá alive por defecto .

Creo que debería incluir un ejemplo rápido:

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)

Notará que estos mensajes de registro ocurren

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

Si esperas un poco, y repites la última llamada de get

INFO:requests.packages.urllib3.connectionpool:Resetting dropped connection: httpbin.org DEBUG:requests.packages.urllib3.connectionpool:"GET /cookies HTTP/1.1" 200 90

Tenga en cuenta que restablece la conexión perdida, es decir, restablece la conexión con el servidor para realizar la nueva solicitud.

En el protocolo HTTP puede enviar muchas solicitudes en un socket usando keep-alive y luego recibir la respuesta del servidor de una vez, por lo que acelerará significativamente todo el proceso. ¿Hay alguna manera de hacer esto en python solicita lib? ¿O hay otras formas de acelerar esto bien utilizando las solicitudes de lib?