1

質問があります - 私は CURL と PROXY を使用しています。有料の Web サービスからプロキシ アドレスのリストを取得しています。リストは次のようになります (例):

123.456.789.012:1234
123.456.789.012:1234
123.456.789.012:1234
123.456.789.012:1234
123.456.789.012:1234
123.456.789.012:1234
123.456.789.012:1234

上記のリストがここで入手できるとしましょう: http://example.com/list_with_the_proxy

私のPHPコードは次のようになります。

<?php
$url = 'http://connect.to.another.example.net/'; //I want to open this url using one of the proxy address from the list

$proxy_url = 'http://address.of.proxy.example.org';

function RandomLine($filename) { 
    $lines = file($filename) ; 
    return $lines[array_rand($lines)] ; 
} 

$random_proxy = RandomLine($proxy_url); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); 
curl_setopt($ch, CURLOPT_PROXY, $random_proxy); 
$data = curl_exec($ch); 
curl_close($ch); 
echo $data;

?>

いくつかの問題に気付きました - いくつかのプロキシが利用できず、サイトがロードされ、ロードされ、ロードされています...サイトのロードが長すぎる場合、スクリプトをリロードして新しいランダムプロキシを取得する可能性はありますか? たとえば、プロキシが 5 秒以内に応答しない場合、スクリプトは再度読み込まれますか?

4

2 に答える 2

1

CURLOPT_TIMEOUT妥当な時間内にデータを取得できない場合は、常に を調べてリロードしてください。また、プロキシ リスト サイトからのデータが正しく送信され、そのためにハングしていないことを確認できますか?

于 2012-06-26T20:02:08.213 に答える
0

実際には、PHP や curl に関係なく、自動的に解決されない一般的な問題に直面しているだけです。これには多くの理由がありますが、より一般的には、それを自動的に解決できないためです。

プロキシリストを介して接続したいとします。しかし一方で、そのリストのプロキシを制御することはできません。そのため、機能していないプロキシを取得する可能性があります。

プロキシとは何かという定義により、アドレスを信頼するかドロップする必要があります。ただし、信頼していても判断が間違っていれば、だまされる可能性があります。あなたは自動化された手段を利用していますが、そのプロキシリストのソースが信頼できるかどうかを質問で伝えていないため、ソースは本当に信頼できないと思います. したがって、簡単に解決したいと思う問題に出くわしますが、実際にはそうではありません。

これが本当に問題かどうかは判断できません。ただし、私が言えることは、stackoverflow.com はおそらくあなたの質問をするのに適切なサイトではないということです。

したがって、これは実際には答えではなく、より長いコメントです。回答に関しては、プロキシプロバイダーのアドレスを共有していないため、これは主観的であり、建設的ではありません.

気をつけて。これらのプロキシ リストのすべてが安全に使用できるわけではありません。しかし、より一般的には、これらすべてのプロキシが実際に機能するとは考えていません。これらのリストは変更される可能性があります。お金を払った分だけ手に入れることができると言う人もいるかもしれませんが、信頼できるプロキシを探している場合は、自分で実行してみませんか?

于 2012-06-27T00:38:53.030 に答える