質問

PHPネイティブ機能はあります get_headers() すべてのコンテンツをダウンロードするか、ヘッダーを取得した後にダウンロードを停止しますか?

役に立ちましたか?

解決 2

get_headersは、応答の一部のヘッダー部分のみで、接続をドロップします。

PHP -Aを使用してインタラクティブモードを入力しました。

php > print_r( get_headers('http://ftp.linux.org.tr/ubuntu-releases//maverick/ubuntu-10.10-desktop-i386.iso'));
Array
(
[0] => HTTP/1.1 200 OK
[1] => Date: Sat, 30 Oct 2010 23:33:12 GMT
[2] => Server: Apache/2.2.13 (FreeBSD)
[3] => Last-Modified: Thu, 07 Oct 2010 16:25:11 GMT
[4] => ETag: "c7e78fe-2b528000-492095688a7c0"
[5] => Accept-Ranges: bytes
[6] => Content-Length: 726827008
[7] => Connection: close
[8] => Content-Type: application/octet-stream
)

これには1秒もかかりませんでした。 Chromeは、get_headersの1SEC応答と比較してUbuntuをダウンロードするのに1日かかったと言っているため、ヘッダーのみを収集する必要があります。

他のヒント

今は自分でテストすることはできませんが、 マニュアルのこのコメント:

誰かが興味を持っているなら、私がそうであったように、この関数は頭の動詞を送信しません。代わりに、それはGETを送信します。私の場合、HTTPステータス(200、404など)を取得するための簡単な方法が必要なため、理想的ではありません。戻ってくる。

実際、完全な応答本体は毎回送信されます。

一粒の塩でそれを取りますが、マニュアルとして見ているとは言及されていません HEAD 方法、これは正しいと思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top