ホームページ  >  記事  >  バックエンド開発  >  PHPカールがリモートページコンテンツを収集するデモコード_PHPチュートリアル

PHPカールがリモートページコンテンツを収集するデモコード_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-20 10:59:27764ブラウズ

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.comtru​​ehttp://www.bkjia.com/PHPjc/445611.html技術記事 PHP には、file_get_contents()、fopen、file() など、リモート サーバーのデータを収集できる関数が多数ありますが、パフォーマンスの面では、curl が最適です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。