Mailchimp NodeJS API健康检查遇ENOTFOUND错误求助
Mailchimp API 健康检查遭遇ENOTFOUND错误排查方案
问题描述
配置Mailchimp API进行健康检查时,反复触发ENOTFOUND错误,代码严格遵循官方文档编写但问题未解决。
配置代码:
const mailchimp = require("@mailchimp/mailchimp_marketing"); mailchimp.setConfig({ apiKey: "API-KEY", server: "us-17", }); async function run() { const response = await mailchimp.ping.get(); console.log(response); } run();
错误信息:
node:internal/process/promises:288 triggerUncaughtException(err, true /* fromPromise */); ^ Error: getaddrinfo ENOTFOUND us-17.api.mailchimp.com at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26) { errno: -3008, code: 'ENOTFOUND', syscall: 'getaddrinfo', hostname: 'us-17.api.mailchimp.com', response: undefined }
预期返回:
{ "health_status": "Everything's Chimpy!" }
排查解决方案
验证DNS解析
在终端执行nslookup us-17.api.mailchimp.com或ping us-17.api.mailchimp.com,确认本地/服务器能正常解析该域名。若无法解析,更换公共DNS(如8.8.8.8)重试。核对服务器区域代码
检查Mailchimp API密钥的后缀(格式为API-KEY-XXX),确认XXX部分和配置中的server字段(us-17)完全一致,服务器代码不匹配会导致域名错误。排查网络限制
若处于公司内网或使用代理,确认防火墙/代理规则是否允许访问us-17.api.mailchimp.com,需将该域名加入访问白名单。直接用curl测试端点
绕过Node.js依赖,用curl直接调用API验证网络连通性:curl -u "anystring:API-KEY" https://us-17.api.mailchimp.com/3.0/ping若curl也无法连接,说明问题出在网络层面,与代码无关。
更新依赖包
执行npm update @mailchimp/mailchimp_marketing更新依赖,旧版本包可能存在域名解析相关的已知问题。
内容的提问来源于stack exchange,提问作者Christopher Maduka
相关产品推荐
相关产品推荐

