Dart http库HTTP请求的默认超时时间是多少?
Dart http库默认连接超时说明
- Dart的http库本身没有设置默认的连接超时时间,它底层依赖的
HttpClient默认不会主动终止未响应的连接,会一直等待直到操作系统层面的超时(不同系统的默认超时通常在几十秒级别)。 - 你记录的30ms时间差,显然不是http库的默认配置导致的。这种短时间的失败更可能是**连接被拒绝(Connection refused)**而非连接超时——比如目标服务器未运行、端口未开放时,系统会快速返回连接失败的响应,耗时通常很短。
- 如果需要主动控制超时时间,你可以通过
http.Client结合timeout方法来设置,示例代码:
import 'package:http/http.dart' as http; void main() async { try { final response = await http.get(Uri.parse('https://example.com')) .timeout(const Duration(seconds: 5)); // 设置5秒超时 // 处理响应逻辑 } on TimeoutException catch (_) { // 处理超时异常 } }
内容的提问来源于stack exchange,提问作者Kon Syrokostas
相关产品推荐
相关产品推荐

