PHP には、file_get_contents()、fopen、file() など、リモート サーバー データを収集できる関数が多数ありますが、マルチスレッドをサポートするのはcurl です。
例
コードは次のとおりです |
コードをコピー |
$curlPost = 'a=1&b=2';//POST データをシミュレートします
$ch =curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:0.0.0.0', 'CLIENT-IP:0.0.0.0')); // IP を構築します
curl_setopt($ch, CURLOPT_REFERER, "http://www.bkjia.com/"); //構築元
curl_setopt($ch,CURLOPT_URL, 'http://www.bkjia.com') //クロールされるページのパス ;
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);//ポスト値
$file_contents =curl_exec($ch);//キャプチャしたコンテンツを変数に入れます
カール_クローズ($ch)
|
もう 1 つの方法は、file_get_contents() リモート ファイル取得関数を使用してリモート ページのコンテンツを取得することです
メモ
curl() は非常に効率的で、マルチスレッドをサポートしていますが、curl 拡張機能を有効にする必要があります。以下は、curl 拡張機能を有効にする手順です:
1. PHP フォルダー内の 3 つのファイル php_curl.dll、libay32.dll、および ssleay32.dll を system32 にコピーします。
2. php.ini (c:WINDOWS ディレクトリの下) の extension=php_curl.dll 内のセミコロンを削除します。
3. Apache または IIS を再起動します。
http://www.bkjia.com/PHPjc/445611.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/445611.html技術記事 PHP には、file_get_contents()、fopen、file() など、リモート サーバーのデータを収集できる関数が多数ありますが、パフォーマンスの面では、curl が最適です。