Hi Dear
use this code:
class APHTTP : public QHttp
{
Q_OBJECT
rivate:
QString mHost;
QHttpRequestHeader mHeader;
QSslSocket socket;
public slots:
void findPageGet();
void socketReadyRead();
void socketEncrypted();
void sslErrors(QList<QSslError>);
void socketStateChanged(QAbstractSocket::SocketState);
}
APHTTP::APHTTP()
{
mHost = "localhost";
connect(&socket, SIGNAL(stateChanged(QAbstractSocket::SocketState)) ,
this, SLOT(socketStateChanged(QAbstractSocket::SocketSta te)));
connect(&socket, SIGNAL(encrypted()),
this, SLOT(socketEncrypted()));
connect(&socket, SIGNAL(sslErrors(QList<QSslError>)),
this, SLOT(sslErrors(QList<QSslError>)));
connect(&socket, SIGNAL(readyRead()),
this, SLOT(socketReadyRead()));
socket.connectToHostEncrypted(mHost, 443, QIODevice::ReadWrite);
socket.waitForConnected();
socket.startClientEncryption();
if (!socket.waitForEncrypted())
{
qDebug() << socket.errorString();
return ;
}
this->setSocket(&socket);
connect(this, SIGNAL(done(bool)), this, SLOT(findPageGet()));
// you should set header!!!!!!!!!
this->setHost(mHost, QHttp::ConnectionModeHttp);
this->request(mHeader);
}
void APHTTP::findPageGet()
{
QByteArray bytData;
QMutex mutex;
QString body;
bytData = this->readAll();
body = QString::QString(bytData);
this->deleteLater();
}
void APHTTP::socketReadyRead()
{
QString str;
str = QString::fromUtf8(socket.readAll());
}
void APHTTP::sslErrors( QList<QSslError> error)
{
}
void APHTTP::socketEncrypted()
{
}
void APHTTP::socketStateChanged( QAbstractSocket::SocketState state )
{
}
Bookmarks