该链接 python requests 可以访问,本地 curl 可以访问,浏览器可以直接访问,但是在 nextjs 项目里面前后端通过 fetch 均无法访问
链接示例: https://paddleocr-store-1.bj.bcebos.com/v1/job/b2e41a29bdef834cf1786aa41d950cdf232126f264bb994fbf98bb1eae787492/json/cc48ad7a5e6ebb092bfe10bd2619859c.json?authorization=bce-auth-v1%2FALTAKDN8mY5KlNI7zaRpLmOqrw%2F2026-06-17T07%3A28%3A33Z%2F604800%2F%2Fac27632bf11a36d6cd2f12b791dbb8015330f430ec39e4925a4d396691c88e94
我让 deepseek 写一个单页 html(排除任何框架干扰),试图访问该链接也不行,并排除了 CORS (跨域资源共享)问题。
其中有一个可能性是“Node.js v18/v20/v22 中的 Happy Eyeballs 机制存在已知实现缺陷,导致连接超时问题”,但是我没找到靠谱的修复方案
有没有大佬遇到过类似问题
感谢各位,问题已解决。
ai 给出的原因和解决办法:
```text
问题在于 Node.js 自带的 fetch (使用 undici )与该特定主机的连接存在超时问题。而原生 https 模块在显式强制使用 IPv4 并指定 IP 地址时可以正常工作。
根本原因:undici ( Node 的 fetch 后端)无法与 paddleocr-store-7.bj.bcebos.com 建立 TCP 连接(可能是 IPv6/TLS 握手问题),而 curl 和 Python requests 则能正常处理。
修复方案:使用原生 https 模块,并显式进行 IPv4 查询。
```
大概是说该域名的 ipv6 访问有些问题(通过我的网络), 但是 ipv4 访问是可以的,而 node 的 fetch 并没有处理好 ipv6 的链接问题。而 curl 和 Python requests 则能正常处理。
反正就是把 fetch 换成 https 模块就可以访问了。
另外评论区有用 node 的 fetch 可以访问成功,猜测跟不同地区的网络还有关系。
以上略做参考


