ホームページ > バックエンド開発 > PHPチュートリアル > cURL を使用して PHP でヘッダーのみを取得するにはどうすればよいですか?

cURL を使用して PHP でヘッダーのみを取得するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-10 12:02:02
オリジナル
749 人が閲覧しました

How can I Retrieve Only Headers in PHP using cURL?

PHP の cURL によるヘッダーのみの取得

この記事では、PHP で cURL を使用して、ヘッダーのみを取得する代わりにヘッダーのみを取得することに関する 2 つの問い合わせに対処します。ページ全体のデータ。処理効率と特定の実装上の課題に重点を置いています。

処理効率

はい、リモート サーバーの処理能力と帯域幅消費量の両方が削減されます。ページ全体を取得する場合と比較して、ヘッダーのみを取得する場合。これは、サーバーが HTML コンテンツの生成と解析のオーバーヘッドを回避できるため、負荷が軽減されます。

ファイル変更日の取得

最終変更日を取得するには日付 (Last-Modified ヘッダー) またはリモート ファイルの If-Modified-Since ヘッダーを取得するには、次の手順を実行できます。

<?php
class URIInfo
{
    public $info;
    public $header;
    private $url;

    public function __construct($url)
    {
        $this->url = $url;
        $this->setData();
    }

    public function setData()
    {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $this->url);
        curl_setopt($curl, CURLOPT_FILETIME, true);
        curl_setopt($curl, CURLOPT_NOBODY, true);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HEADER, true);
        $this->header = curl_exec($curl);
        $this->info = curl_getinfo($curl);
        curl_close($curl);
    }

    public function getFiletime()
    {
        return $this->info['filetime'];
    }
}

$filetime = (new URIInfo('http://www.example.com/file.xml'))->getFiletime();
if ($filetime != -1) {
    echo date('Y-m-d H:i:s', $filetime);
} else {
    echo 'filetime not available';
}
?>
ログイン後にコピー

このアプローチでは、クラスを利用してヘッダー情報を取得する機能をカプセル化し、 Last-Modified ヘッダーを抽出しています。

実装の課題

提供された元のコードは、curl_getinfo($header) を使用して最終変更日を取得しようとしましたが、これは正しくありません。ヘッダー情報を取得するには、curl_getinfo() を cURL ハンドル ($curl) とともに使用する必要があります。さらに、最終変更日を取得するには CURLOPT_FILETIME を使用すれば十分です。

結論として、PHP で cURL を使用したヘッダーのみの取得は、特定のヘッダー情報にアクセスできると同時に、サーバーの負荷を軽減できる可能性があります。上記のガイドラインに従うことで、この機能をコードに効果的に実装できます。

以上がcURL を使用して PHP でヘッダーのみを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート