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

fsspec的HTTPS文件系统直接读取URL失败原因咨询

问题根因

你遇到的getaddrinfo failed报错属于域名解析失败,本质是直接初始化HTTPS文件系统时代理配置未生效,请求尝试直连公网站点,在内网环境下无法完成域名解析导致报错。

直接使用https协议时参数传递存在不规范问题:trust_env是fsspec的HTTPFileSystem原生构造参数,你将其放入client_kwargs中传递时,部分版本的fsspec无法识别该配置,会默认使用trust_env=False的逻辑,不会加载系统环境变量中的HTTP_PROXY/HTTPS_PROXY代理配置,请求直连自然无法连通。

使用simplecache包装后能正常运行的原因是:simplecache初始化目标https协议时,会完整透传所有配置参数,会触发代理配置的加载逻辑,请求走代理完成转发,所以能正常获取内容。

修复方案

直接使用https协议时,将trust_env作为顶级参数传入即可,无需放入client_kwargs,修改后代码如下:

import socket
import aiohttp
import fsspec

_hostname = socket.gethostname()
pwd = "你的代理密码"
proxy_auth = aiohttp.BasicAuth(_hostname, pwd)
# trust_env作为fsspec.filesystem的直接入参
of = fsspec.filesystem("https", trust_env=True, client_kwargs={"auth": proxy_auth})
http_urls = ["https://stackoverflow.com/"]
print(of.cat(http_urls))

如果修改参数后仍报错,可以在代码开头手动指定环境变量的代理配置:

import os
os.environ["HTTP_PROXY"] = "http://你的代理地址:端口"
os.environ["HTTPS_PROXY"] = "http://你的代理地址:端口"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 12:06:03