我只是嘗試使用HTTP URL發送GET請求和我得到這兩個SSL錯誤:QT HTTP GET請求SSL錯誤
> qt.network.ssl: QSslSocket: cannot call unresolved function d2i_DHparams
> qt.network.ssl: QSslSocket: cannot call unresolved function DH_free
我使用Windows 10 QTCreator(QT V5.8) ,並且我知道默認情況下不會通過QT導入SSL庫。但是,我發送HTTP請求而不是HTTPS,那麼爲什麼我會收到SSL錯誤?
這裏是代碼片段產生錯誤:
void MainWindow::sendGetRequest(QString& url)
{
QNetworkAccessManager networkManager;
QNetworkRequest request;
QUrl httpRequest(url);
request.setUrl(httpRequest);
currentReply = networkManager.get(request);
ui->label_2->setText("Request Sent...");
connect(&networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(onGetRequestResult(QNetworkReply*)));
}
void MainWindow::onGetRequestResult(QNetworkReply * reply)
{
if (reply->error() != QNetworkReply::NoError) {
ui->label_2->setText("Get Request Error!");
return;
}
QString data = (QString) reply->readAll();
qDebug() << data;
}
後右側的標籤更改Request Sent...
的錯誤拋出和插槽onGetRequestResult()
永遠不會被調用。
此外,我已經下載了兩個SSL二進制文件,但這並不會改變任何內容,並且有沒有辦法爲GET請求禁用SSL,因爲我不需要使用它。
謝謝!
編輯您的加入您的問題先前的評論。 – eyllanesc
在HTTP請求的響應中可能會重定向到https,並且來自Qt的HTTP堆棧正在跟隨它並嘗試按服務器的命令通過https訪問該站點。 –
我們假設響應正在經歷SSL,但是我仍然如何解決這些錯誤?如果我使用'curl -X獲取「url」'它工作得很好。但是,我沒有在Windows 10上使用'curl'的特權。 –