2

私のシステムでは、Privoxy を使用して TOR をセットアップしましたが、これはテスト済みで、うまく機能しています。私がやろうとしているのは、これらの GET と POST が TOR を経由するように、このセットアップを介して HTTPS リクエストをプロキシすることです。以下は、私が作成できるコードの最も単純なバージョンです。

import requests
proxy = { 'http':'127.0.0.1:8118','https':'127.0.0.1:8118' }
r = requests.get('https://www.whatismyip.com/',proxies=proxy)
#r = requests.get('http://www.whatsmyip.org/')
print r

HTTPS を使用している場合、応答本文は取得されません (r.content は空白です) が、200 ステータス コードが取得され、Privoxy ログで要求が送信されたことを確認できます。このスレッドでバグを見つけましたが、数か月前に Requests ライブラリでこれで解決されたようです。

私の privoxy セットアップは基本的なセットアップであり、次の 2 行を追加して localhost でリッスンするようにセットアップします。

forward-socks4a / localhost:9050 .
forward-socks5 / localhost:9050 .

この時点で、何が起こっているのかわかりませんが、何も機能していないようです。私は、最新の要求ライブラリと urllib3 を使用して Python 2.6.5 を使用しています。

4

2 に答える 2

6

HTTPS プロキシはまだ適切にサポートされていませんurllib3( で使用requests)。

詳細については、リクエストの問題 905urllib3の問題 50を参照してください。

于 2012-12-04T19:08:55.300 に答える
1

requesocksSOCKS プロキシに直接接続するように設計された のフォークを試してくださいrequests(Tor のように、そもそも Privoxy を使用する必要はありません。特に Privoxy が必要な場合は、運が悪いかもしれませんが、それ以外の場合はpip install requesocks、置き換えてください。

import requests

import requesocks
requests = requesocks.session()
requests.proxies = {"http": "socks5://127.0.0.1:8118",
                   "https": "socks5://127.0.0.1:8118"}

ここで、requests変数は、requests.get()直接インポートするのとまったく同じ方法で使用できるセッション (および友人と) ですrequests

于 2016-01-26T04:28:56.900 に答える