在node.js npm中使用AXIOS下载镜像的ETIMEDOUT

0lvr5msh  于 2023-10-18  发布在  iOS
关注(0)|答案(1)|浏览(154)

code: 'ETIMEDOUT', host: 'miro.medium.com', hostname: 'miro.medium.com', method: 'GET', path: '/v2/resize:fit:1200/1*zPt6so-N8gphr7Kyw6OA1w.jpeg', protocol: 'https:', url: 'https://miro.medium.com/v2/resize:fit:1200/1*zPt6so-N8gphr7Kyw6OA1w.jpeg'
在node.js中使用AXIOS npm包下载镜像时出现此错误。
使用的代码如下所示:

let inputImageUrl = "https://miro.medium.com/v2/resize:fit:1200/1%2AzPt6so-N8gphr7Kyw6OA1w.jpeg";

// Decode the URL to remove percent-encoded characters
          const decodedUrl = decodeURIComponent(inputImageUrl);

          // Set a User-Agent header to mimic a browser request
          const userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.0.0 Safari/537.36";

          axios
            .get(decodedUrl, {
              headers: {
                "User-Agent": userAgent
              },
              responseType: "stream",
              timeout: 10000 // Increase the timeout to 10 seconds (adjust as needed)
            })
            .then((response) => {
              // Handle the response
            })
            .catch((err) => {
              console.error(err);
            });

我已经解码了输入图像的网址,并使用解码的网址下载,但仍然发生问题,错误是上面添加的。
正确的URL如下:https://miro.medium.com/v2/resize:fit:1200/1%2AzPt6so-N8gphr7Kyw6OA1w.jpeg
我也试过SuperAgent,download,node-downloader-helper软件包来下载这个镜像,但是没有用。

rsl1atfo

rsl1atfo1#

代码没有问题;您可以使用另一个图像URL来确保这一点。
似乎米罗对这些资产的外部访问有限。

相关问题