network-programming - 是否有任何标准 URL 用于检测是否存在强制门户?
问题描述
我正在编写一个应用程序,其中我想检查用户是否连接到接入点,但不允许网络访问(由于存在强制门户)。
以下 URL 是 Microsoft 的测试服务器,如果一切顺利,则返回 HTTP 200 ,内容为“Microsoft Connect Test” http://www.msftconnecttest.com/connecttest.txt
要将状态返回给用户,我想再次检查另一台测试服务器,它会在 HTML 响应中返回一些内容。
Google 有一个测试服务器为“ http://connectivitycheck.gstatic.com/generate_204 ”,但这会给出空的 HTML 响应。
Mozilla 和 Apple 提供了几个服务器,但都在 HTML 响应中返回“SUCCESS”。
为什么我不喜欢在 HTML 正文中仅返回“SUCCESS”的任何测试服务器,因为它不允许我测试内容篡改攻击的场景。
如果您知道任何其他标准服务器来测试强制门户,请回复...
~阿什什
解决方案
我知道这是一个非常古老的问题,但我可能会为其他登陆这里的人提供一些额外的信息。
尽管 Google generate_204 链接似乎什么也没返回,但它实际上返回了 204 状态。如果您的连接上有一个强制门户,您将不会收到 204 回复。
我们在我们的应用程序中使用它来检测强制门户,并且效果很好。我们的 API 上有一个“Hello”端点,它返回 204。
推荐阅读
- python - 如何将来自 json 的更改保存在同一列或新列中?
- ruby-on-rails - Rails 6 插件:创建自定义路由
- python - 按下按钮时 GPIO 事件检测未提供输出
- python - 如何规范化 BatchDataset 并在模型中使用它?
- mysql - MAMP PRO 的用户名和密码
- webforms - Drupal 8 Webform 文件上传
- css - 为什么容器大于 50% 的字体大小会发生变化?
- kubernetes - 无法在 Kubernetes 中部署的 Prometheus 服务器中找到 Prometheus 自定义应用程序导出器作为目标
- facebook-graph-api - Fb/Instagram Graph API:(#10)business_discovery 权限被拒绝
- python - Kivy 动态类 - 多个对象