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

如何用Python Requests仅获取HTTP头部Set-Cookie并终止连接

仅获取HTTP头部Set-Cookie字段并终止连接的实现方法

如果只需要提取响应头里的Set-Cookie字段,完全没必要下载大体积的响应体,用下面两种方法就能高效实现,还能节省带宽:

方法一:用HEAD请求(优先推荐)

HEAD请求只会返回HTTP响应头部,不会下载任何响应体,是最省带宽的方式:

import requests

# 替换成你要请求的目标URL
target_url = 'https://example.com'

try:
    # 发送HEAD请求,仅获取响应头部
    response = requests.head(target_url)
    response.raise_for_status()  # 检查请求是否成功

    # 提取Set-Cookie字段
    set_cookie = response.headers.get('Set-Cookie')
    if set_cookie:
        print(f"拿到的Set-Cookie: {set_cookie}")
    else:
        print("响应头里没有Set-Cookie")
except requests.exceptions.RequestException as e:
    print(f"请求出错: {e}")

方法二:用GET请求+流式模式+手动关闭连接

如果某些服务器对HEAD请求不友好(比如不返回Set-Cookie),可以用这种方式:开启流式模式后,requests不会自动下载响应体,拿到头部后直接关闭连接就行:

import requests

target_url = 'https://example.com'

try:
    # 开启stream=True,避免自动下载响应体
    response = requests.get(target_url, stream=True)
    response.raise_for_status()

    # 提取Set-Cookie字段
    set_cookie = response.headers.get('Set-Cookie')
    if set_cookie:
        print(f"拿到的Set-Cookie: {set_cookie}")
    else:
        print("响应头里没有Set-Cookie")

    # 立即关闭连接,终止响应体下载
    response.close()
except requests.exceptions.RequestException as e:
    print(f"请求出错: {e}")

注意事项

  • 优先用HEAD请求,比第二种方法更高效;
  • 记得加异常处理,避免请求失败时程序崩溃;
  • 替换代码里的target_url为你实际要请求的地址。

内容的提问来源于stack exchange,提问作者Muhammad Ikhwan Perwira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 22:03:15