You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在Puppeteer中发起HEAD请求?

无需下载文件即可获取响应头判断文件更新时间

要获取文件链接的响应头而不下载文件主体,主要有以下几种实用方法:

命令行工具(curl)

直接用curl发送HEAD请求,仅获取响应头:

curl -I https://example.com/your-file.txt

返回结果里的Last-Modified字段就是文件的最后修改时间,对比这个字段就能判断哪个文件更新。

如果部分服务器不支持HEAD请求,可以用--head参数(效果和-I类似),或者用GET请求但强制只获取头信息:

curl -s --head https://example.com/your-file.txt

Python 脚本实现

用requests库发送HEAD请求,高效获取响应头:

import requests

def get_last_modified(url):
    try:
        resp = requests.head(url, timeout=10)
        resp.raise_for_status()  # 检查请求是否成功
        return resp.headers.get('Last-Modified')
    except requests.exceptions.RequestException as e:
        print(f"请求出错: {e}")
        return None

# 示例调用
file_urls = [
    "https://example.com/file1.txt",
    "https://example.com/file2.txt"
]

for url in file_urls:
    modified_time = get_last_modified(url)
    print(f"{url} 最后修改时间: {modified_time}")

HEAD请求只会返回响应头数据,不会下载文件内容,节省带宽和时间。如果遇到服务器拒绝HEAD请求的情况,可以改用GET请求并设置stream=True,然后立即关闭连接(不读取响应体):

resp = requests.get(url, stream=True, timeout=10)
resp.close()
modified_time = resp.headers.get('Last-Modified')

关键说明

  • 核心依赖响应头里的Last-Modified字段,大部分静态文件服务器都会返回这个字段;
  • 少数服务器可能返回ETag字段,也可以作为文件版本标识,但判断新旧不如Last-Modified直观;
  • 确保请求时处理好异常(比如连接超时、404错误等),避免脚本中断。

内容的提问来源于stack exchange,提问作者Jeff Lowery

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 10:30:58