首页 > 解决方案 > 检查代理是否在 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,则无法分配代理。

标签: c++qtnetwork-programmingqnetworkaccessmanager

解决方案


由于您想使用 HTTP 使用代理,您可以尝试使用 a 连接到代理QTcpSocket并查看连接是否实际建立。如果是这样,您可以继续使用代理地址和端口进行进一步连接。


推荐阅读