8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

使用 axios 从 docker 容器调用 api 时出现 'ETIMEDOUT' 错误

Mystus 2月前

47 0

我正在尝试抓取一个网站,并在抓取后向 Telegram 发送警报。它在没有 Docker 的本地环境中运行。在使用 Docker 进行设置后,我开始收到 \'ETIME...

我正在尝试抓取一个网站,并在抓取后向 Telegram 发送警报。它在没有 Docker 的本地环境中工作。在使用 Docker 设置它之后,我在发送警报时开始收到 \'ETIMEDOUT\' 错误。我很困惑为什么会发生这个错误,因为我仍然可以抓取网站。我尝试过重新启动容器并添加 Google DNS,但它仍然无法持续工作。有时,它尝试几次后会成功,然后继续失败。我很确定 URL 也是正确的。我的操作系统是 Ubuntu。

我用其他 api 做了一些测试。当我调用 google.com 和 jsonplaceholder 时,它可以工作。只有使用 telegram bot api 时才不起作用。域名是 https://api.telegram.org 。其他人说要使用代理。但我住在泰国,甚至无法从我当地的 docker 容器调用。

这是我的 Axios 代码和错误消息。

  async sendToTelegram(text: string) {
    let token = process.env.TELEGRAM_BOT_TOKEN;

    let url = `https://api.telegram.org/bot${token}/sendMessage`;

    console.log(url);

    let group_id = process.env.TELEGRAM_GROUP_ID;

    let params = {
        chat_id: group_id ? group_id : "",
        text
    };

    await axios.get(url, { params });
}

enter image description here

帖子版权声明 1、本帖标题:使用 axios 从 docker 容器调用 api 时出现 'ETIMEDOUT' 错误
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Mystus在本站《ubuntu》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我尝试在 docker compose 文件上使用 1450 和 1500。但仍然不起作用。当我使用 ip link | grep mtu 检查 MTU 时,我有 eth0 和 eth1。两者都是 1500。我正在 Digital Ocean droplet 上运行。

返回
作者最近主题: