I compiled OpenSSL on my Windows machine 并且能够使用 QNetworkAccessManager
进行 HTTPS 查询,但是当我尝试添加 HTTPS 代理时
QNetworkAccessManager m_nm;
connect(&m_nm, &QNetworkAccessManager::proxyAuthenticationRequired, this, &BinanceReceiver::onProxyAuthenticationRequired);
connect(&m_nm, &QNetworkAccessManager::sslErrors, this, &BinanceReceiver::onSslErrors);
QNetworkProxy m_proxy(QNetworkProxy::HttpProxy, "host.com", 3129, "user", "password");
m_nm.setProxy(m_proxy);
QNetworkRequest request;
request.setUrl(MakeUrl(url));
QNetworkReply* reply = m_nm.get(request);
QObject::connect(reply, &QNetworkReply::finished, [this, reply]()
{
if (reply->error())
{
netLogger.error(reply->errorString());
}
else
{
//...
}
//Ensure it is deleted after this handler is called, but not before.
delete reply;
});
它停止工作,我根本没有收到回复,也没有触发 proxyAuthenticationRequired
和 sslErrors
。
它是一个带有身份验证的 Squid HTTPS 代理。
QNetworkAccessManager
是否支持 HTTPS 代理?