1

可能だとは思いませんが、ダウンロードせずにページサイズを取得する方法はありますか?(ばかげているようですが、とにかくここで聞きたいです)

ページをカールしてサイズを取得することはできますが、ページをDLしたくありません。また、テキスト/htmlのヘッダーには何も興味深いものはありません。

4

3 に答える 3

4

Content-Lengthページ ヘッダーからプロパティをクエリします。

Hypertext Transfer Protocol Documentation のセクション 14.13 で定義されています。

于 2012-09-30T19:24:22.287 に答える
3

HEADの代わりに HTTP メソッドを使用しGETます。

HEAD メソッドは、サーバーが応答でメッセージ本文を返してはならないことを除いて、GET と同じです。HEAD リクエストに応答して HTTP ヘッダーに含まれるメタ情報は、GET リクエストに応答して送信される情報と同一である必要があります。このメソッドは、エンティティ本体自体を転送せずに、リクエストによって暗示されたエンティティに関するメタ情報を取得するために使用できます。

于 2012-09-30T19:25:23.263 に答える
0

HEAD リクエストを行っても、出力で content-length が得られることは保証されません。自分で確認してください:

stream_context_set_default(
    array(
        'http' => array(
            'method' => 'HEAD'
        )
    )
);

var_dump(get_headers("http://www.stackoverflow.com", 1));
var_dump(get_headers("http://www.google.com", 1));
var_dump(get_headers("http://php.net/", 1));

最良の選択肢は、curlを使用してページをダウンロードしてから、ページのサイズ(純粋なテキスト)を確認することだと思います

于 2012-09-30T21:58:31.940 に答える