2016-09-22 8 views
1

Nachdem ich ein neues, sauberes System auf meinem PC installiert habe (Windows 10 x64), stoße ich auf einige Probleme mit der pycurl lib für python (natürlich).PyCurl dauert sehr lange

Ich habe dies auf Python 2.7 und 3.4 versucht - macht keinen Unterschied.

Es dauert eine lange Zeit zu reagieren, nachdem ich die Anfrage (24 Sekunden), egal was das Ziel ist, sogar "localhost" zu senden.

Stück o'code:

import pycurl, time 
from io import BytesIO 

buf = BytesIO() 
c = pycurl.Curl() 
c.setopt(c.URL, 'http://localhost/') 
c.setopt(c.WRITEDATA, buf) 
t = time.clock() 
c.perform() 
print("elapsed time: {} sec".format(time.clock() - t)) 
c.close() 

body = buf.getvalue() 

Ich habe das gleiche versucht, auf meinem VPS Maschine (ubuntu) und es funktioniert beautifuly.

+0

'verstrichene Zeit: 0.00925174318082 sec' ... (getestet in Windows py2.6 und py2.7) ... –

+0

yeah, Sie sagen nicht :( – RayZorPL

+0

was passiert, wenn Sie versuchen, http: // www .freecodecamp.com/die-schnellste-Web-Seite-auf-dem-Internet "? Ich bekomme über 0.12 –

Antwort

2

Ich habe das gleiche Problem erlebt, und wie Sie in Ihrem Kommentar angegeben haben, war das Problem der DNS-Lookup, der eine außerordentlich lange Zeit in Anspruch nahm. Ich schaffte es, dies zu umgehen, indem pycurl Erzwingen einen bestimmten DNS-Server zu verwenden (in diesem Fall von Google):

c.setopt(pycurl.DNS_SERVERS, '8.8.8.8') 

jedoch durch gewarnt, dass ich stürzt auf einigen Linux-Systemen gesehen habe, wenn Sie diesen Code ausführen.

+0

Danke, ich werde es das nächste Mal versuchen, wenn ich pycurl benutze. – RayZorPL

Verwandte Themen