ホームページ >バックエンド開発 >PHPチュートリアル >PHP の Curl を使用して HTTP ステータス コードを効率的に取得するにはどうすればよいですか?

PHP の Curl を使用して HTTP ステータス コードを効率的に取得するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-31 16:37:02266ブラウズ

How Can I Efficiently Get HTTP Status Codes Using PHP's Curl?

curl を使用して PHP で HTTP コードを効率的に取得する方法

curl を使用して Web サイトが起動しているかどうかなどのステータスを確認する場合、ダウン、またはリダイレクトの際には、パフォーマンスのオーバーヘッドを最小限に抑えることが重要です。ただし、提供されたコードはページ全体をダウンロードするため、パフォーマンスに悪影響を及ぼします。

このプロセスを最適化するには、次の手順を検討してください。

  • URL を検証します。 確認してください。時間を節約するために、リクエストを行う前に URL が有効になっています。
  • リクエスト ヘッダーのみ: 本文のコンテンツを除き、ヘッダーのみを取得することを指定します。これにより、データ転送時間が大幅に短縮されます:
<code class="php">curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);</code>
  • 追加ドキュメントを参照してください: HTTP ステータス コードの取得に関する詳細なガイダンスについては、URL の存在の確認に関するドキュメントを参照してください。 :
if(!$url || !is_string($url) || ! preg_match('/^http(s)?:\/\/[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(\/.*)?$/i', $url)) {
    return false;
}

最適化されたコード:

<code class="php">$url = 'http://www.example.com';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$output = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo 'HTTP code: ' . $httpcode;</code>

以上がPHP の Curl を使用して HTTP ステータス コードを効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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