如何在Windows中检测防火墙?

cfi*_*her 2 winapi firewall http http-get windows-firewall

我的应用程序需要向网站发出GET请求,我希望能够知道它是否被防火墙阻止,并要求用户添加例外.

如何通过防火墙而不是其他东西找出我的获取请求失败?

Ada*_*iss 6

如果它是一个好的防火墙,你不能.除其他选项外,防火墙还可以:

  • 回复几个不同的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.

重要的一点是要区分,或许比我更好,区分失败的类型和背后的原因.例如,"无响应"故障排除的步骤与"设备告诉我它没有在该端口上侦听"的故障排除步骤不同.