のTest_functionのコードの一部($のMyTestを)です。
try {
$ch = curl_init();
if (FALSE === $ch)
throw new Exception('failed to initialize');
curl_setopt($ch, CURLOPT_URL, $mytest);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_MAXREDIRS, 2);
$agents = array(
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:7.0.1) Gecko/20100101 Firefox/7.0.1',
'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100508 SeaMonkey/2.0.4',
'Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)',
'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; da-dk) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1'
);
curl_setopt($ch, CURLOPT_USERAGENT, $agents[array_rand($agents)]);
curl_setopt($ch, CURLOPT_HEADER, true);
$html = curl_exec($ch);
if (FALSE === $html)
throw new Exception(curl_error($ch), curl_errno($ch));
} catch(Exception $e) {
trigger_error(sprintf(
'Curl failed with error #%d: %s',$mytest,
$e->getCode(), $e->getMessage()),
E_USER_ERROR);
}
curl_close($ch);
$dom = new DOMDocument();
@$dom->loadHTML($html);
$linklist= array();
foreach($dom->getElementsByTagName('a') as $link) {
$href = $link->getAttribute('href');
array_push($linklist, $href);
}
私は、このサービスを知らないが、私はそれを試してみましょう、それはあまりにも学ぶのは難しいですか? – AlbertoV
curl_multi_execとcurl_multi_selectを確認してください。 "Test_function"のサンプルコードを投稿してください。おそらく、コードをリファクタリングするのに役立ちます。 –