我在线吗?

主要观点:介绍了用于检查网络连接的不同方法和相关 URL,包括 Google 的http://google.com/generate_204https://google.com/generate_204等,还提到其他公司如 Cloudflare、Microsoft、Ubuntu、Xiaomi 等的类似 URL,以及部分公司提供200 OK端点的情况,给出了在多种编程语言(Python、JavaScript、Shell、Go)中实现简单网络连接检查的代码示例,最后表达对 Google 提供该服务的看法并邀请分享其他类似端点。

关键信息:

  • 常用的通过 ping DNS 服务器检查网络连接的方式使用 ICMP 协议,而作者想要检查真实 HTTP 客户端使用的全栈(DNS、TCP、HTTP)。
  • Google 的generate_204URL 返回204 No Content,快速、依赖核心基础设施且支持 HTTP 和 HTTPS。
  • 其他公司的类似 URL 如 Cloudflare 的http://cp.cloudflare.com/generate_204等。
  • 部分公司提供200 OK端点,如 Amazon 的http://spectrum.s3.amazonaws.com/kindle-wifi/wifistub.html等。
  • 给出了 Python、JavaScript、Shell、Go 实现网络连接检查的代码。

重要细节:

  • 在 Python 代码中,通过http.client库创建连接并发送 GET 请求,根据响应状态判断是否在线。
  • JavaScript 代码使用fetch函数发送请求,根据响应状态判断是否在线,并设置超时时间。
  • Shell 代码使用curl命令发送请求,通过判断返回的 HTTP 状态码判断是否在线。
  • Go 代码使用http包创建请求并发送,根据响应状态码判断是否在线。
阅读 14
0 条评论