11

Tor を実行しており、Web ページを取得するための Python スクリプトがあります。

socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
socket.socket = socks.socksocket

print urllib2.urlopen(URL).read()

ただし、URL が

http://localhost/some_page.html

次のエラーが表示されます。

raise Socks5Error(ord(resp[1]),_generalerrors[ord(resp[1])])
TypeError: __init__() takes exactly 2 arguments (3 given)

誰かが私に正確に何が起こるか説明できますか?

ありがとうございました。

4

2 に答える 2

16

これがプロトコルの設計方法です。リクエストを送信すると、Socks5 エンベロープでインターネット上の別のマシンに転送されます。したがって、実際のリクエストは外部サーバーから行われるため、127.0.0.1 にアクセスすることはできません。

于 2012-10-25T03:45:47.610 に答える
1

localhost の php で Tor プロキシを使用できます。cURL の使用。LAN プロキシ設定 "No proxy for:" にローカル IP を配置します。例 192.168.1.10。次に、php を " http://192.168.1.10/your_script.php "として呼び出します。

$proxy = '127.0.0.1:9150';
$ur = "http://anydomain.com";
$ch = curl_init();

curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_PROXYTYPE, 7);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

    curl_setopt($ch, CURLOPT_URL, $ur);

    $curl_scraped_page = curl_exec($ch);
    $error = curl_error($ch);
于 2016-06-11T05:30:30.703 に答える