ホームページ >バックエンド開発 >PHPチュートリアル >CURLの学習と応用(マルチスレッド実装)_PHPチュートリアル
curl のインストール:
Windows でのインストール
: php.ini ファイルの設定を変更し、php_curl.dll を見つけます
//Uncomment extension=php_curl.dll
Linux でのインストール:
var_dump($info);
var_dump($data);
返せるもの:
URLINFO_EFFECTIVE_URL – 最後に有効な URL アドレス
CURLINFO_HTTP_CODE – 最後に受信した HTTP コード
CURLINFO_FILETIME – ドキュメントがリモートで取得された時刻。取得できない場合、戻り値は「-1」です
CURLINFO_TOTAL_TIME – 最後 転送にかかる時間
CURLINFO_NAMELOOKUP_TIME – 名前解決にかかる時間
CURLINFO_CONNECT_TIME – 接続の確立にかかる時間
CURLINFO_PRETRANSFER_TIME – 接続の確立から転送の準備までにかかる時間
CURLINFO_STARTTRANSFER_TIME –接続の確立から転送の開始までにかかる時間
CURLINFO_REDIRECT_TIME – トランザクション転送が開始されるまでのリダイレクトに費やした時間
CURLINFO_SIZE_UPLOAD – アップロードされたデータの合計量
CURLINFO_SIZE_DOWNLOAD – ダウンロードされたデータの合計量
CURLINFO_SPEED_DOWNLOAD – 平均ダウンロード速度
CURLINFO_SPEED_UPLOAD – 平均アップロード速度
C URLINFO_HEADER_SIZE – ヘッダー部分のサイズ
CURLINFO_HEADER_OUT – リクエストを送信する文字列
CURLINFO_REQUEST_SIZE – HTTP リクエスト内の該当のリクエストのサイズ
CURLINFO_SSL_VERIFYRESULT – によって返される SSL 証明書検証リクエストの結果CURLOPT_SSL_VERIFYPEER の設定
CURLINFO_CONTENT_LENGTH_DOWNLOAD – Content-Length から: フィールドに読み取られたダウンロード コンテンツの長さ
CURLINFO_CONTENT_LENGTH_UPLOAD - アップロードされたコンテンツのサイズの説明
CURLINFO_CONTENT_TYPE - Content-Type: ダウンロードされたコンテンツの値、NULL はサーバーが有効な Content-Type を送信しなかったことを意味します。ヘッダー
curl を使用してマルチスレッドを実現します
curl は通常 Web ページをクロールするために使用され、2 番目はデータを取得または投稿するために使用され、3 番目のアプリケーションは PHP でマルチスレッド タスクを実装するために使用されます
マルチスレッドを実装しましょう
このマルチスレッドを作成する手順:
ステップ 1:curl_multi_init を呼び出す
ステップ 2:ループ内でcurl_multi_add_handleを呼び出す
このステップで注意する必要があるのは、curl_multi_add_handle の 2 番目のパラメーターが、curl_init のサブハンドルであるということです。
ステップ 3: 引き続きcurl_multi_execを呼び出します
ステップ 4: 必要に応じてループ内でcurl_multi_getcontentを呼び出し、結果を取得します
ステップ 5:curl_multi_remove_handleを呼び出し、単語ハンドルごとにcurl_closeを呼び出します
ステップ6:curl_multi_closeを呼び出します
マルチスレッドのテストレンダリング:
概要: 36 の http リクエスト。実行の時系列順から判断すると、3 つの Web サイトの IP が交差しており、同時に同時であることがわかります。
——————————————————————————
Linuxコマンドでのcurl
いくつかの一般的な使用方法:
ダウンロード機能:
直接ダウンロードはwgetと同等
curl -o 1.jpg http://cgi2.tky.3web.ne.jp/~zzh/screen1.JPG
一括ダウンロード screen1.JPG–screen10.JPG
curl -O http://cgi2.tky.3web 。 ne.jp/~zzh/screen[1-10].JPG
ブレークポイントダウンロード
curl -c -O http://cgi2.tky.3wb.ne.jp/~zzh/screen1.JPG
リバースプロキシ機能
curl -x 123.45.67.89:1080 -o page.html http://www.yahoo.com
ヘッダーファイルを表示
curl -I www.sina.com