c++ - 检查代理是否在 Qt 中可用的最佳方法是什么?
问题描述
我正在使用 QNetworkAccessManager示例发送 HTTP 请求。
QNetworkProxy proxy;
proxy.setType(QNetworkProxy::HttpProxy);
proxy.setHostName("some proxy IP");
proxy.setPort(5555);
network_manager.setProxy(proxy);
我想在使用代理之前检查它是否可以工作。我知道我可以用这个代理向谷歌发送一个 HTTP 请求。但它会收到超过 1K 的数据。它相对较大,因为我会测试许多代理。我不认为这是一个好方法。我想通过代理服务器发送 ping。似乎没有用 Qt 发送 ping 的好方法。如果我使用 WinAPI IcmpSendEcho 发送 ping,则无法分配代理。
解决方案
由于您想使用 HTTP 使用代理,您可以尝试使用 a 连接到代理QTcpSocket
并查看连接是否实际建立。如果是这样,您可以继续使用代理地址和端口进行进一步连接。
推荐阅读
- php - 在 CodeIgniter 4 中动态添加产品变体
- javascript - Three.js:更改一个网格的材质会更改场景中的所有材质
- python - 我想通过转换时间戳来创建一个新列:AttributeError: Can only use .str accessor with string values
- python - 如何在 django 模型中对变量求和
- mysql - 用于过滤至少一行中具有特定值的所有行的 SQL 查询
- android - Android 9 及更高版本上的 SetSpeakerphoneOn
- c++ - LLVM 是否有用于解除 Microsoft C++ 重整的工具?
- ms-access - MS Access (Office 365) 中的 SQL 查询的奇怪问题
- python - 一旦我尝试用画布创建图像,所有小部件都会消失
- azure - Azure IoT Edge 安装中的配置错误 - “配置具有正确的守护进程管理端点的 URI - 错误”