2016-07-28 24 views
0

Bei der Verwendung von GrabLib, die PyCurl/LibCurl verwendet, um Anfragen zu machen, bekomme ich beim Senden einer Anfrage einen Zeitüberschreitungsfehler. Bei Verwendung des Anforderungsmoduls stellt die requests.get-Methode jedoch ohne Probleme eine Verbindung zur Website des Drittanbieters her.PyCurl Zeitüberschreitung bei funktionierender Netzwerkverbindung unter Windows 10

Hier ist mein Beispielcode, der Anforderungen und pycurl verwendet:

import pycurl 
import requests 

r = requests.get('http://www.google.com') 
print r 

c = pycurl.Curl() 
c.setopt(pycurl.TIMEOUT_MS, 3000) 
c.setopt(pycurl.URL, 'http://www.google.com/') 
c.perform() 

Hier ist die Ausgabe des Codes:

<Response [200]> 
Traceback (most recent call last): 
    File "C:/Users/redacted/test2.py", line 10, in <module> 
     print c.perform() 
pycurl.error: (28, 'Resolving timed out after 3000 milliseconds') 

Kann mir jemand mitteilen, warum dies geschehen kann? Ich bin hier in einer Sackgasse.

+0

Es funktioniert bei mir. Vielleicht liegt etwas an deiner Installation von Curl? – Feneric

Antwort

1

Nach der Übersetzung einiger russischer Google Group Kommentare habe ich festgestellt, dass Downgrades von "PycURL/7.43. 0 libcurl/7.47. 0 OpenSSL/1.0 2e zlib/1.2 8 c - .. Ares/1.10 0 libssh2/1.6 0" zu "PycURL/7.19.5.3 libcurl/7.45.0 WinSSL zlib/1.2.8" (gedruckt mit "print (pycurl.version)") behebt jedes Problem, das ich hatte. Ich bin mir nicht sicher über die Feinheiten von PyCurl und was sich zwischen diesen Versionen geändert hat, also konnte ich dir nicht sagen, warum dies geschah. Ich weiß nur, dass damit das Problem gelöst wurde.

Wenn es überhaupt hilft, fing das an, als ich von meinem Arbeitsnetzwerk zu meinem Heimnetzwerk wechselte; aber ich hatte auch ein VPN, das beim Start (P.I.A.) läuft. Dies führt zu der Annahme, dass eine Art Windows 10-Netzwerkeinstellung die Ursache für dieses Problem war. Zuerst, als das Problem auftrat, konnte ich meinen Rechner zurücksetzen und das Problem beheben, nur um etwas später zu passieren (ich nehme an, wenn mein VPN verbunden ist?). Nachdem ich von meinem Heimnetzwerk zu meinem Arbeitsnetzwerk zurückgekehrt bin, habe ich P.I.A aus nicht verwandten Gründen deinstalliert, und PyCurl hat vollständig aufgehört zu arbeiten. Downgrade hat das Problem aus welchem ​​Grund auch immer behoben.

Wenn jemand mehr Einblick geben kann, warum dies nur mit PyCurl passiert sein könnte, wäre es sehr verpflichtet.

Links für Referenz:

https://groups.google.com/forum/#!topic/python-grab/PwoplNwa1TI

https://bintray.com/pycurl/pycurl/pycurl/view#files (pycurl-7.19.5.1.win32-py2.7.msi) (I deinstalliert pycurl und installiert diese Version auf 10 Windows x64)