1

使い方はよく知ってrequestsいますが、何らかの理由でプロキシを機能させることに成功していません。次のリクエストを行っています。

r = requests.get('http://whatismyip.com', proxies={'http': 'http://148.236.5.92:8080'})

私は以下を取得します:

requests.exceptions.ConnectionError: [Errno 10060] A connection attempt failed b
ecause the connected party did not properly respond after a period of time, or e
stablished connection failed because connected host has failed to respond

それでも、ノードを使用しているため、プロキシが機能することはわかっています。

request.get({uri: 'http://www.whatismyip.com', proxy: 'http://148.236.5.92:8080'},
    function (err, response, body) {var $ = cheerio.load(body); console.log($('#greenip').text());});

次の(正しい)応答が得られます。

148.236.5.92

さらに、requestsリクエストをまったく別の方法で試すと (たとえば、http://プロキシの前に書き込むことなく)、プロキシを通過したりエラーを返したりせずに、リクエストが正常に通過できるようになります。

Pythonで何が間違っていますか?

4

2 に答える 2

2

これは既知の問題です:https ://github.com/kennethreitz/requests/issues/1074

しかし、なぜ修正に時間がかかるのか正確にはわかりません。しかし、あなたの質問に答えるために、あなたは何も悪いことをしていません。

于 2013-01-16T00:12:45.377 に答える
1

sigmavirus24 が言うように、これは既知の問題であり、修正されていますが、まだ新しいバージョンにパッケージ化されておらず、PyPI にプッシュされていません。

そのため、急いでこれが必要な場合は、git リポジトリのマスターからアップグレードできます。

を使用している場合pip、これは簡単です。これの代わりに:

pip install -U requests

これを行う:

pip install -U git+https://github.com/kennethreitz/requests

を使用していない場合pipは、おそらくローカル コピーからgit cloneリポジトリを明示的に取得easy_install .する必要があります。python setup.py

于 2013-01-16T06:43:28.113 に答える