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

如何在Dart中实现类似PHP get_headers()的仅获取HTTP响应头功能

Dart中仅获取HTTP响应头的实现方式

你在PHP里用get_headers()实现的仅获取响应头、判断URL是否存在的功能,在Dart里可以通过HTTP HEAD请求来实现——这是HTTP协议专门设计的、只返回响应头不返回响应体的请求方式,比用GET请求再丢弃响应体高效得多。

示例代码

首先确保你已经在pubspec.yaml里添加了http依赖,然后可以这样写:

import 'package:http/http.dart' as http;

Future<bool> urlExists(String url) async {
  try {
    final response = await http.head(Uri.parse(url));
    // 检查状态码是否为200
    return response.statusCode == 200;
  } catch (_) {
    // 请求失败(比如域名不存在、网络错误)则返回false
    return false;
  }
}

关于http.get()的参数配置

直接通过http.get()的参数配置是做不到仅获取响应头的。因为GET请求的HTTP语义就是要返回完整的响应体,http.get()方法没有提供可以跳过响应体接收的参数。所以最合理的方案还是使用上面的HEAD请求方式。

内容的提问来源于stack exchange,提问作者Paul Iluhin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 08:10:21