axios 请求 url 地址,判断网络地址是否存在

使用 axios 来判断一个 URL 地址是否可连接,通常涉及到发送一个 HTTP 请求到这个地址,并检查响应的状态码。如果请求成功,并且返回了 200 OK 状态码,那么通常可以认为这个地址是可连接的。

以下是一个简单的示例,使用 axios 来发送 GET 请求并判断 URL 是否可连接:

const axios = require('axios');  
  
async function isUrlReachable(url) {  
  try {  
    const response = await axios.get(url, {  
      timeout: 5000, // 设置请求超时时间,例如5秒  
      headers: {  
        // 你可以在这里添加自定义的请求头,例如:  
        // 'User-Agent': 'your-custom-user-agent'  
      },  
      // 如果只需要检查连接性,而不关心响应内容,可以设置 validateStatus  
      validateStatus: status => status >= 200 && status < 300,  
    });  
  
    // 如果请求成功,并且状态码在200-299之间,那么可以认为URL是可连接的  
    if (response.status >= 200 && response.status < 300) {  
      return true;  
    } else {  
      // 如果状态码不在200-299之间,但请求仍然成功(例如重定向),你可能需要根据你的需求来处理  
      console.log(`Unexpected status code: ${response.status}`);  
      return false;  
    }  
  } catch (error) {  
    // 如果请求失败(例如网络错误、超时、4xx/5xx状态码等),那么URL不可连接  
    if (axios.isCancel(error)) {  
      // 如果请求被取消(例如因为超时),可以在这里处理  
      console.log('Request canceled', error.message);  
    } else if (error.code) {  
      // 处理特定的错误代码,例如 'ECONNABORTED' 表示连接被中止  
      console.log(`Error code: ${error.code}`);  
    } else {  
      // 处理其他错误情况  
      console.error('Error', error.message);  
    }  
    return false;  
  }  
}  
  
// 使用示例  
const url = 'https://example.com';  
isUrlReachable(url).then(reachable => {  
  console.log(`URL is reachable: ${reachable}`);  
});

这个示例中的 isUrlReachable 函数会发送一个 GET 请求到指定的 URL,并返回一个 Promise。如果 URL 可连接,Promise 将解析为 true;否则,Promise 将解析为 false。同时,它会捕获并处理各种可能的错误情况。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值