1

TORネットワークの背後にある共有サーバー(ポート80と443のみが開いている)からPHPcURLを使用してスクレイピングをスクリーニングしたいと思います。以下のコードを試してみると、ポート8118と9050が閉じているため、サーバーから「アクセスが拒否されました」というエラーが表示されます。サポートに連絡したところ、不可能だと言われました。私はそれを疑っていますが、永遠に検索し、簡単な解決策を見つけることができませんでした。何かご意見は?

     <?php
$fh = fopen('curldebug.txt','w') or die($php_errormsg);
// Initialize cURL
$ch = curl_init();

// Set the website you would like to scrape
curl_setopt($ch, CURLOPT_URL, "http://www.fixitts.com/whatismyip.php");
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0');
curl_setopt($ch, CURLOPT_REFERER, 'http://www.fixitts.com');
curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8118');

curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_STDERR, $fh);
 // Set cURL to return the results into a PHP variable
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// This executes the cURL request and places the results into a variable.
$curlResults= curl_exec($ch);

        if(curl_errno($ch))
        {
            echo 'Curl error: ' . curl_error($ch);
        }

        $info = curl_getinfo($ch);
        print_r ($info);

// Close curl
curl_close($ch);
fclose($fh) or die($php_errormsg);
// Echo the results to the screen>
echo $curlResults;

?>
4

2 に答える 2

4

Web ホストのサポートはおそらく正しいでしょう。

補足として、TOR を介したスクリーン スクレイピングは非常に反社会的な行為です。これは、多くの Web サイトが既知の TOR 出口ノードからのアクセスをブロックする理由の大部分を占めています。停止してください。

于 2013-02-23T01:59:39.077 に答える
0

8118 (Polipo または Privoxy) でリッスンしているローカル プロキシがあると仮定します。

ポート 8118 と 9050 は、ローカルホスト (127.0.0.1) で TOR と Polipo がデフォルトで使用するものです。
localhost ポートは共有サーバーによってブロックされていません - 127.0.0.1 はあなたの PC です。それらがブロックされている場合は、PC にそれを行っている何か (ファイアウォール) があります。

また、TOR と Polipo (または何でも) に、構成ファイルで異なるポートを使用するように指示することもできます。上記のコードと Polipo/Privoxy で 8118 を別のものに変更します。

共有サーバーが 80 と 443 に制限されているかどうかは問題ではありません。TOR が送信する必要があるのはこれだけです。TOR出口サーバーは、取得したものをすべてアンラップし、送信先のポート (元の宛先ポート) を確認します。

共有サーバーが既知の TOR サーバーへのポート 80 および 443 接続をブロックしている可能性があります。ブラウザを開き、プロキシを SOCKS127.0.0.1 ポート 9050 に設定し、Web を閲覧できるかどうかを確認します。それがうまくいかない場合は、おそらく答えがあります。TORのドキュメントを確認できます。TORがブロックされているかどうかを確認する方法を教えてくれたことを思い出します.

于 2013-02-23T02:04:27.857 に答える