1

当我在域中进行更改时,函数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 索引 在此处输入图像描述

4

2 回答 2

1

有时服务器只是不发送Content-length标头,您应该期待并正确对待这种情况,因为RFC2616中有这样的规定。

在某些情况下,当页面是动态生成的(使用 PHP 或其他语言)时,在发送 headers 阶段还不知道 body 的长度,因此服务器无法Content-length提前生成正确的 header . 但也有明确禁止发送标头的情况Content-length

于 2014-12-09T09:53:28.293 回答
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)

没有内容长度

于 2014-12-09T09:55:28.220 回答