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

Cypress调用cy.visit()访问www.github.com报ESOCKETTIMEDOUT其他网站正常

Cypress 访问 GitHub 触发 ESOCKETTIMEDOUT 错误排查方案

1. 网络层面排查

  • 先在本地浏览器直接访问 http://www.github.com,同时在终端执行 curl -I http://www.github.com 确认请求是否能正常响应,优先排除本地网络到 GitHub 的连通性故障
  • 检查本地是否开启了代理工具,Cypress 默认会读取系统代理配置,若代理对 GitHub 域名的转发规则异常会直接导致超时,可临时关闭代理后重新执行测试验证
  • 若你的网络环境必须走代理才能访问 GitHub,需要在 Cypress 配置文件中显式声明代理参数,不要依赖系统默认代理读取逻辑,避免配置丢失

2. Cypress 配置调整

  • 拉长 cy.visit() 的超时阈值,GitHub 首次加载静态资源较多,默认的超时时间可能不足以完成加载,修改调用代码为 cy.visit('http://www.github.com', {timeout: 120000}),将超时时间调整为 120 秒测试
  • 关闭非必要的页面加载校验,若不需要等待所有资源加载、动画执行完成,可添加额外配置:cy.visit('http://www.github.com', {pageLoadTimeout: 120000, waitForAnimations: false})
  • 检查 cypress.config.js 配置文件,确认没有针对 github.com 域名的异常 hosts 绑定、请求拦截规则,避免请求被转发到不可达的IP地址

3. 站点反爬机制适配

  • GitHub 有请求频率限流规则,若短时间内多次调用 cy.visit() 发起访问,会触发安全机制主动断开连接,可在每次访问前添加 cy.wait(3000) 等待3秒,降低请求频率
  • 配置 Cypress 的 User-Agent 标识为你本地常用浏览器的UA,避免 Cypress 默认的UA被 GitHub 反爬机制识别拦截
  • 若开启了 Cypress 的全局请求拦截功能,确认没有对 GitHub 相关的请求做异常篡改、阻塞操作,导致请求无法正常到达服务端

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:57:02