1

curl -I http://api.stackoverflow.com/1.1/badges端末から実行すると、次のヘッダーが表示されます。

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 42804
Content-Type: application/json; charset=utf-8
Content-Encoding: gzip
X-AspNetMvc-Version: 4.0
X-RateLimit-Max: 300
X-RateLimit-Current: 297
X-AspNet-Version: 4.0.30319
Set-Cookie: .ASPXBrowserOverride=; expires=Mon, 08-Oct-2012 04:29:28 GMT; path=/
Date: Tue, 09 Oct 2012 04:29:27 GMT

しかし、PHP で同じ cURL リクエストを実行すると、次のようになります。

Array
(
    [url] => http://api.stackoverflow.com/1.1/badges?10102
    [content_type] => application/json; charset=utf-8
    [http_code] => 200
    [header_size] => 277
    [request_size] => 85
    [filetime] => -1
    [ssl_verify_result] => 0
    [redirect_count] => 0
    [total_time] => 0.168343
    [namelookup_time] => 0.023417
    [connect_time] => 0.046293
    [pretransfer_time] => 0.046365
    [size_upload] => 0
    [size_download] => 42804
    [speed_download] => 254266
    [speed_upload] => 0
    [download_content_length] => 42804
    [upload_content_length] => 0
    [starttransfer_time] => 0.097563
    [redirect_time] => 0
    [certinfo] => Array
        (
        )

    [redirect_url] => 
)

私にとって重要な主な違いは、PHP を実行すると、ヘッダーが取得されないことです。Content-Encodingヘッダーがないと、コンテンツを gzip で膨らませる必要があるかどうかがわかりません。

Content-Encodingヘッダーを取得する方法、または他の方法で gzip 圧縮を確認する方法はありますか?

4

2 に答える 2