这不会得到 gzip 压缩的内容,而是纯内容。如何使 file_get_contents 使用 https 发送标头?
$url = 'https://www.google.co.in/';
///Try to fetch compressed content using the file_get_contents function
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en-US,en;q=0.8\r\n" .
"Accept-Encoding: gzip,deflate,sdch\r\n" .
"Accept-Charset:UTF-8,*;q=0.5\r\n"
)
);
$context = stream_context_create($opts);
$zipped_content = file_get_contents($url ,false,$context);
echo $zipped_content;
print_r($http_response_header);
如果 url 是http://www.yahoo.co.in则提供 gzip 压缩的内容(并确认,它看起来像垃圾)。
但是当使用“https://”时,file_get_contents 似乎没有发送指定的标头。