http - 如何检测 Windows 中的防火墙?

标签 http winapi firewall http-get windows-firewall

我的应用需要向网站发出 GET 请求,我希望能够知道它是否被防火墙阻止,并要求用户添加异常(exception)。

我如何才能发现我的 get 请求失败是因为防火墙而不是其他原因?

最佳答案

如果它是一个好的防火墙,你就不能。在其他选项中,防火墙可以:

  • 回复几个不同的 ICMP 之一消息,指示目的地不可访问,或
  • 默默地放弃请求,导致超时。

一个合理的选择是解释应用无法访问网站的原因,并提供一些有用的建议:

    No response from www.site.com:
    * Your computer may not be connected to the Internet.
    * The site may be down.
    * The site may be blocked by a firewall.
    The network indicated that www.site.com is not accessible:
    * Helpful messages go here.

重点是区分失败的类型和它们背后的原因,也许比我上面做的更好。例如,“无响应”的故障排除步骤将不同于“设备告诉我它没有在该端口上监听”的故障排除步骤。

关于http - 如何检测 Windows 中的防火墙?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/642950/

相关文章:

google-chrome - HTTP 请求挂起太慢

captcha - CloudFlare CAPTCHA 和 Challenge 页面对用户来说是什么样的?

c# - 如何在 C# 中检查防火墙和代理环境中的网络连接

swift - 快速解析多范围请求响应

c++ - 如何使用基本身份验证发送 HTTP 请求?

rest - Http.post 在flutter/dart 中不接受内容类型application/query+json

c++ - 如何在 Internet Explorer 中显示我自己的上下文菜单

来自 wchar_t* 的 C++ Win32 GDI+ 拉绳

c++ - Windows Precision Touchpad 单击/点击事件是否通过 WM_INPUT 消息进行通信?如果没有,我如何获得它们?

django - postgresql - django.db.utils.OperationalError : could not connect to server: Connection refused