インターネットの発達に伴い、インターネット上の情報はますます豊富になってきていますが、インターネット上で価値のある情報を入手することは容易ではありません。 Web ページ情報を取得する必要がある一部のアプリケーションにとって、Web クローラーは不可欠なツールの 1 つになっています。 Web クローラー テクノロジーでは、PHP も広く使用される言語になりました。
この記事では、HTTP および HTTPS プロトコルを使用して Web 情報をクロールする方法に焦点を当てます。
1. HTTP プロトコル
HTTP は、ハイパーテキスト転送プロトコルであり、ハイパーメディア ドキュメントの送信に使用されるアプリケーション層プロトコルです。通常 World Wide Web で使用され、その主な機能は TCP プロトコルに基づくクライアントとサーバー間の通信です。そのシンプルさと速度により、Web クローラー関連アプリケーションには不可欠な部分となっています。
PHP では、cURL 拡張機能を使用して HTTP プロトコルをクロールできます。 HTTP GET リクエストを例として、簡単なサンプル コードを次に示します。
$url = 'http://example.com'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); curl_close($ch); echo $output;
上に示したように、まず情報を取得する必要がある URL アドレスを定義し、次に cURL ハンドルを初期化し、関連するオプションを設定します。このうち、CURLOPT_URL オプションはアクセスする必要がある URL アドレスを示し、CURLOPT_RETURNTRANSFER オプションは出力ではなく応答結果を返すことを示します。最後に、実行が完了すると、cURL ハンドルが閉じられ、取得された結果が出力されます。
また、HTTP プロトコルをクロールする場合は、次の点にも注意する必要があります。
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // 设置超时时间为10秒
curl_setopt($ch, CURLOPT_COOKIE, 'key=value'); // 设置cookie curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); // 设置请求头
2. HTTPS プロトコル
HTTPS は、SSL/TLS プロトコルを介して HTTP 安全な伝送を実装するプロトコルであり、データ伝送プロセスのセキュリティと整合性を保証できます。 HTTP プロトコルと比較して、HTTPS プロトコルは悪意のある攻撃やスパイ行為を防ぐことができます。 Web ページをクロールするときに、HTTPS プロトコルを使用すると、データ送信の安全性を高めることもできます。
PHP では、cURL 拡張機能を使用して HTTPS プロトコルをクロールすることもできます。以下は簡単なサンプル コードです。
$url = 'https://example.com'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // 关闭SSL证书校验 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 关闭SSL证书校验 $output = curl_exec($ch); curl_close($ch); echo $output;
HTTPS プロトコルをクロールする場合、SSL 証明書の検証をオフにするには、CURLOPT_SSL_VERIFYHOST および CURLOPT_SSL_VERIFYPEER オプションを 0 に設定する必要があることに注意してください。 SSL 証明書の検証をオフにしない場合、cURL は接続時に証明書を認識できず、要求が失敗します。
さらに、HTTPS プロトコル経由でクロールする場合は、次の点にも注意する必要があります。
curl_setopt($ch, CURLOPT_SSLCERT, '/path/to/client/cert'); // 设置客户端证书路径 curl_setopt($ch, CURLOPT_SSLKEY, '/path/to/client/key'); // 设置客户端证书的key路径
3. まとめ
以上は、HTTP および HTTPS プロトコルを使用して Web ページの情報をクロールする方法と注意事項です。 HTTP であっても HTTPS であっても、これらは Web クローラー テクノロジーにおいて不可欠なプロトコルです。 cURL 拡張機能を使用すると、インターネット上のあらゆる種類の情報を簡単にクロールできるようになり、アプリケーションがよりリッチで強力になります。
以上がPHP Web クローラー: HTTP および HTTPS プロトコルの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。