ホームページ  >  記事  >  バックエンド開発  >  PHP Web クローラー: HTTP および HTTPS プロトコルの使用方法

PHP Web クローラー: HTTP および HTTPS プロトコルの使用方法

WBOY
WBOYオリジナル
2023-06-15 14:38:521129ブラウズ

インターネットの発達に伴い、インターネット上の情報はますます豊富になってきていますが、インターネット上で価値のある情報を入手することは容易ではありません。 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 プロトコルをクロールする場合は、次の点にも注意する必要があります。

  1. 処理中にタイムアウトが発生しないように、タイムアウトを設定する必要があります。 Web ページ情報の取得とリクエストの失敗の原因。
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // 设置超时时间为10秒
  1. ログインが必要な Web ページやリクエスト ヘッダーを含む一部の Web ページでは、リクエスト中に関連するパラメータを設定する必要があります。
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 プロトコル経由でクロールする場合は、次の点にも注意する必要があります。

  1. 正しい URL アドレスを使用してください。 HTTPS URL の形式は https://example.com ですが、プロトコル ヘッダーの大文字と小文字に注意してください。
  2. クライアント証明書を必要とする一部の Web サイトでは、要求時に関連するパラメーターを設定する必要があります。
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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。