我正在 Windows 上开发 C++ 网络应用程序。我需要检查互联网连接是否存在。我正在使用 gethostbyname()
,但是当系统通过代理连接时,它给出的信息不正确。 InternetCheckConnection()
和 InternetGetConnectedState()
在不同条件下也没有给出可靠的结果。是否有可靠的方法来检查覆盖所有条件(例如代理和 VPN)的互联网连接?
更新:
在我们公司网络中 WinHttpGetProxyForUrl()
失败并出现错误 ERROR_WINHTTP_AUTODETECTION_FAILED
和 WinHttpSendrequest()
失败并出现错误 ERROR_WINHTTP_NAME_NOT_RESOLVED
在开放网络中 WinHttpSendrequest()
成功。
原文由 user1513845 发布,翻译遵循 CC BY-SA 4.0 许可协议
简单的老方法!
包括:
在您的方法中:
希望能帮助到你。