2016-07-28 6 views
0

PyCurl/LibCurlを使用して要求を行うGrabLibを使用しているときに、リクエストを送信するときにタイムアウトエラーが発生し続ける。ただし、要求モジュールを使用する場合、requests.getメソッドは問題なくサードパーティのWebサイトに接続します。ここでWindows 10上で動作するネットワーク接続でPyCurlのタイムアウトが発生する

は要求とpycurlを使用して、私のサンプルコードです:ここで

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() 

は、コードの出力です:

<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') 

誰かがこれが起こっされる理由は私が知っていることはできますか?私はここで死んでいる。

+0

それ私のために働く。 curlのインストールに何かがあるかもしれませんか? – Feneric

答えて

1

いくつかのロシア語Googleグループのコメントを翻訳したところ、 "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" "PycURL/7.19.5.3 libcurl/7.45.0 WinSSL zlib/1.2.8"( "print(pycurl.version)"で印刷されています)は、私が持っていた問題を修正します。私はPyCurlの複雑さと、これらのバージョン間で何が変わっているのか分からないので、なぜこれが起こったのかは分からない。私はこれが今問題を解決したことを知っています。

これはまったく役に立ったら、私は職場ネットワークから私のホームネットワークに切り替わったときに起きました。私は起動時に実行されるVPNも持っていました(P.I.A.)。これは、私には、Windows 10ネットワーク設定のいくつかの種類がこの問題の原因であると信じています。最初に問題が発生したときに、マシンをリセットして問題を解決しましたが、少し遅れて実行されました(私のVPN接続時を想定しています)。ホームネットワークから職場のネットワークに戻った後、無関係な理由でP.I.Aをアンインストールし、PyCurlは完全に機能しなくなりました。再度、ダウングレードすることで、何らかの理由で問題が解決されました。

これがPyCurlでのみ発生した原因について誰でも知ることができれば、それは非常に義務的です。参照用

リンク:

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)(私はpycurlをアンインストールし、Windows 10のx64上でこのバージョンをインストール)

関連する問題