当我在域中进行更改时,函数get_headers()
不会为数组提供相同的索引。何时以及为何会发生这种情况?
我想要数百个域的Content-Length
值。我需要做出哪些改变?
<?php
$url = 'http://www.ecomexpomelbourne.com.au/sponsors/';
echo "<pre>";
$domain_data[] = array();
$domain_data = get_headers( $url, 1 );
print_r($domain_data);
echo $domain_data['Last-Modified'];
?>
当用于当前页面url时,我得到Content-Length索引
答案 0 :(得分:1)
有时服务器不会发送Content-length
标题,您应该期望并妥善处理此类情况,因为RFC2616中描述了此类规定。
在某些情况下,当页面是动态生成的(使用PHP或其他语言)时,在发送标头的阶段尚未知道正文的长度,因此服务器无法生成正确的提前Content-length
标题。但也有cases when the Content-length
header is explicitly forbidden to be sent。
答案 1 :(得分:0)
PWS无可救药地过时,而是使用IIS。我不确定PWS是否允许配置响应标头,我找不到任何文档。这就是它现在发送的内容:
Cache-Control:private
Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/html; charset=utf-8
Date:Tue, 09 Dec 2014 09:46:13 GMT
Expires:Mon, 08 Dec 2014 09:46:13 GMT
Server:PWS/8.1.20.5
Set-Cookie:www.ecomexpomelbourne.com.au_trackingData=; path=/
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
X-Px:nc h0-s4.p1-hyd ( h0-s2.p6-lhr), nc h0-s2.p6-lhr ( origin)
没有内容长度