1
我有一個使用Qt創建者構建的程序。我需要向Google的C2DM服務器發送https信息。Qt創建者SSL啓用
當我嘗試使用QSslSocket時,它說我的SSL不工作。
Qt文檔指出,由於法律原因它沒有提供SSL支持,QSslSocket只是一個包裝,我需要自己安裝OpenSSL。我試圖複製DLL,但它仍然無法正常工作。有人可以通過安裝OpenSSL並使其與Qt Creator一起使用嗎?
我有一個使用Qt創建者構建的程序。我需要向Google的C2DM服務器發送https信息。Qt創建者SSL啓用
當我嘗試使用QSslSocket時,它說我的SSL不工作。
Qt文檔指出,由於法律原因它沒有提供SSL支持,QSslSocket只是一個包裝,我需要自己安裝OpenSSL。我試圖複製DLL,但它仍然無法正常工作。有人可以通過安裝OpenSSL並使其與Qt Creator一起使用嗎?
爲什麼不使用QNetworkAccessManager
?我用這樣的張貼JSON的Web服務:
void HttpPoster::post(){
if(!manager)
manager = new QNetworkAccessManager(this);
QSslConfiguration config = QSslConfiguration::defaultConfiguration();
config.setPeerVerifyMode(QSslSocket::VerifyNone);
//config.setProtocol(QSsl::TlsV1);
QNetworkRequest request ;
request.setUrl(QUrl("https://somehost.somedomain"));
request.setRawHeader("User-Agent", "MyApp");
request.setRawHeader("Content-type", "text/json");
request.setSslConfiguration(config);
if(!reply){
reply = manager->post(request,m_Data);
}
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),this,SLOT(handleErrors(QNetworkReply::NetworkError)));
connect(reply,SIGNAL(sslErrors(QList<QSslError>)),this,SLOT(handleSSLErrors(QList<QSslError>)));
connect(reply,SIGNAL(finished()),this,SLOT(replyFinished()));
}
有省略了一些方法(處理錯誤,處理回覆,處理SSL錯誤等等)。你可以在文檔中找到更好的例子。
你拷貝了哪些dll? – 2012-05-14 17:19:16