Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否可以只发送http请求以获取上次修改的时间?_Php_Http_Request - Fatal编程技术网

Php 是否可以只发送http请求以获取上次修改的时间?

Php 是否可以只发送http请求以获取上次修改的时间?,php,http,request,Php,Http,Request,而不是文件本身 编辑 用PHP演示最好?您需要编写一些服务来处理http请求,提取请求文件的上次修改日期并返回响应日期。您需要编写一些服务来处理http请求,提取请求文件的上次修改日期并返回响应日期。中您的HTTP请求应该添加其中任何一个,您可能会收到304(上次修改) 如果修改自 如果没有匹配 如果未修改自 安德烈是正确的,海德只会得到头球。如果满足条件,我的建议只返回页眉,不返回正文。如果内容已更新,则正文将包含新信息 在HTTP请求中,您应该添加其中任何一个,您可能会收到304(上次修改)

而不是文件本身

编辑


用PHP演示最好?

您需要编写一些服务来处理http请求,提取请求文件的上次修改日期并返回响应日期。

您需要编写一些服务来处理http请求,提取请求文件的上次修改日期并返回响应日期。

中您的HTTP请求应该添加其中任何一个,您可能会收到304(上次修改)

  • 如果修改自
  • 如果没有匹配
  • 如果未修改自

  • 安德烈是正确的,海德只会得到头球。如果满足条件,我的建议只返回页眉,不返回正文。如果内容已更新,则正文将包含新信息

    在HTTP请求中,您应该添加其中任何一个,您可能会收到304(上次修改)

  • 如果修改自
  • 如果没有匹配
  • 如果未修改自
  • 安德烈是正确的,海德只会得到头球。如果满足条件,我的建议只返回页眉,不返回正文。如果内容已更新,则正文将包含新信息

    是的。“HEAD”方法只返回响应头,不返回实际数据。

    是。“HEAD”方法只返回响应头,不返回实际数据。

    
    
    <?php
    // Get Headers
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL,            'http://example.com/'); 
    curl_setopt($ch, CURLOPT_HEADER,         true); 
    curl_setopt($ch, CURLOPT_NOBODY,         true); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_TIMEOUT,        10); 
    $response = curl_exec($ch); 
    
    // Process Headers
    $headerLines = explode("\r\n", $response);
    foreach ($headerLines as $headerLine) {
        $headerLineParts = explode(': ', $headerLine);
        if (count($headerLineParts) >= 2) {
            $headers[$headerLineParts[0]] = $headerLineParts[1];
        }
    }
    
    echo $headers['Last-Modified'];
    ?>
    

    您可以使用php的get\u headers函数

    $a = get_headers('http://sstatic.net/so/img/logo.png');
    print_r($a);
    

    您可以使用php的get_headers函数

    $a = get_headers('http://sstatic.net/so/img/logo.png');
    print_r($a);
    

    我试图用它来做一些不同的事情,遇到了许多服务器没有响应HEAD方法,并将其视为GET。只是一个警告。@Kenny:我怀疑这是为了防止仅针对标头信息的DDOS攻击。我尝试将其用于其他用途,但遇到许多服务器没有响应HEAD方法,并将其视为GET。只是一个警告。@Kenny:我怀疑这是为了防止DDOS攻击仅针对标头信息。CURLOPT_这里没有人是关键部分,因为它将方法设置为HEAD而不是GET。否则,您仍将获得完整的文件,并将其扔进位存储桶(aka:/dev/null)No。。。CURLOPT_HEADER的意思是“包含标题”,而CURLOPT_NOBODY的意思是“不包含主体”。如果你真的想要标题,那么两者都需要。对于speed.CURLOPT_,这里没有人是关键,因为它将方法设置为HEAD而不是GET。否则,您仍将获得完整的文件,并将其扔进位存储桶(aka:/dev/null)No。。。CURLOPT_HEADER的意思是“包含标题”,而CURLOPT_NOBODY的意思是“不包含主体”。如果你真的只是想要标题,那么你需要两者,以提高速度。如果-Modified-Since和将来(明年)的日期都会阻止你在回复中获得文件。当您检查的文件较大时,这可能非常关键,即:>100MB如果Web服务器将来位于何处?:P说正经的:那太棒了。如果修改了,那么在未来(明年)的某个日期应该会阻止你收到回复中的文件。当您检查的文件较大时,这可能非常关键,即:>100MB如果Web服务器将来位于何处?:P说真的:那太棒了。