1

Tor 上の HTTP プロキシ サーバーを使用して HTTP リクエストを作成しようとしています。これまでのところ、Privoxy、Tinyproxy、Polipo を試してきました。しかし、これらのプロキシ サーバーのいずれかを介してリクエストを行うと、プロキシ サーバーは何らかの方法で自分自身を取得し、ループに陥ります。

DNSまたはネットワークに問題があるかどうかを確認するために、プロキシなしでURLを取得しようとしましたが、正常に動作しました. 私はUbuntu 12.04 64ビットサーバーを使用しており、リクエストモジュールでpythonを使用してセットアップをテストしています。

さらに、2 つの静的 IPv4 アドレスを持つサーバーでこの問題が発生しており、1 つの静的 IPv4 アドレスを持つサーバーでは問題なく動作します。EC2 サーバーでこれをシミュレートしようとしましたが、Elastic IP アドレスを持つサーバーでも動作しますが、Elastic IP アドレスのないサーバーでも同じ問題が発生します。

Tinyproxy のソース コードを編集してエラーが発生する理由を確認することで、さらに深く掘り下げようとしました。これは、プロキシ サーバーが要求の「ホスト」が 127.0.0.1 であると考えているためです。リクエストヘッダーに「ホスト」を指定すると、多少うまくいきます。しかし、それは正常な動作ではありません。

プロキシ サーバーが 1 つだけである可能性がある場合は、ソフトウェアのバグと考えることができます。しかし、問題はすべてのプロキシサーバーに存在し、ネットワーク設定に何か問題があるのではないかと思います

これが私がリクエストをしようとしている方法です

import requests
# tinyproxy listens on Port 8888
r = requests.get("http://google.com", proxies={'http': '127.0.0.1:8888'}) 

そして、私は次の応答を受け取ります

 400 Bad Request <p>You tried to connect to the machine the proxy is running on </p>
4

1 に答える 1

0

requests ライブラリの最新バージョンの問題であることが判明しました。https://github.com/kennethreitz/requests/pull/1060

于 2012-12-24T06:11:05.127 に答える