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

调用fetch访问GitHub API时遇getaddrinfo ENOTFOUND问题求助

问题描述

我正在遵循Lucia的SvelteKit GitHub OAuth教程,代码如下:

tokens = await github.validateAuthorizationCode(code);
 
const githubUserResponse = await fetch('https://www.api.github.com/user', {
            headers: {
                Authorization: `Bearer ${tokens.accessToken()}`
            }
        });

我可以正常执行nslookup www.api.github.com,但执行nslookup www.api.github.com/user时会报错:

UnKnown can't find www.api.github.com/user: Non-existent domain

我在Windows 11中尝试在hosts文件添加127.0.0.1 localhost,但没有效果。请问有什么解决建议?

解决建议
  • 纠正nslookup的使用方式:nslookup是用来查询纯域名对应IP的工具,只能输入域名(比如www.api.github.com),不能带路径(/user)。你把www.api.github.com/user当作域名解析,系统自然找不到对应记录,这是工具使用逻辑错误,不是网络或代码问题。
  • 排查API请求问题:
    • 先确认tokens.accessToken()是否返回了有效令牌,打印出来检查格式是否符合要求。
    • 可以直接在浏览器或Postman中用这个令牌请求https://api.github.com/user(GitHub官方API域名不带www,带www也会被重定向),验证令牌有效性和网络连通性。
    • 检查是否有代理、防火墙拦截了请求,尝试关闭相关工具后再测试。
  • hosts修改无效的原因:你添加的127.0.0.1 localhost和当前问题完全无关,localhost是本地回环地址,和GitHub域名解析没有关联,不需要修改hosts文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 08:29:55