las solicitudes de python son lentas

Estoy desarrollando un gestor de descargas. Usando el módulo de solicitudes en python para buscar un enlace válido (y enlaces rotos). Mi código para comprobar el enlace a continuación:

url='http://pyscripter.googlecode.com/files/PyScripter-v2.5.3-Setup.exe' r = requests.get(url,allow_redirects=False) #this line takes 40 seconds if r.status_code==200: print "link valid" else: print "link invalid" 

Ahora, el problema es que esto lleva aproximadamente 40 segundos para realizar esta comprobación, que es enorme. Mi pregunta es ¿cómo puedo acelerar esto tal vez utilizando urllib2 o algo así?

Nota: Además, si reemplazo la url con la URL real que es ‘ http://pyscripter.googlecode.com/files/PyScripter-v2.5.3-Setup.exe ‘, esto toma un segundo por lo que parece ser un problema con las solicitudes .

No todos los hosts admiten solicitudes de head . Puedes usar esto en su lugar:

 r = requests.get(url, stream=True) 

Esto en realidad solo descarga los encabezados, no el contenido de la respuesta. Además, si la idea es obtener el archivo después, no tiene que realizar otra solicitud.

Vea aquí para más infos.

No use get que realmente recupera el archivo, use:

 r = requests.head(url,allow_redirects=False) 

Que va desde 6.9secs en mi máquina a 0.4secs