в конструкторе так:
C++ (Qt)
m_manager_downloader = new QNetworkAccessManager(this);
connect(m_manager_downloader,SIGNAL(finished(QNetworkReply*)), this,SLOT(onDownloadFinished(QNetworkReply*)));
далее вызов метода Download ( const QUrl &url ):
C++ (Qt)
void HTTPDownloader::Download( const QUrl & url ){
m_reply = m_manager_downloader->post(m_request,m_PostData);
Q_ASSERT(m_reply);
connect( m_reply, SIGNAL( downloadProgress ( qint64, qint64) ),
this, SIGNAL( downloadProgress ( qint64, qint64) ) );
}
слот:
C++ (Qt)
void HTTPDownloader::onDownloadFinished(QNetworkReply *reply)
{
int code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
QString reason = reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toString();
Log ( LOG_DEBUG, tr("Request [%1] finished").arg( reply->request().url().toString( ) ) );
if ( reply->error() != 0 )
{
Log(LOG_ERROR,tr("Requset: %1, QT error info:[%2- %3")
.arg(reply->url().toString()).arg(reply->error()).arg(reply->errorString()) );
Log(LOG_ERROR,tr("HTTP: [%1 - %2]").arg(code).arg(reason));
emit downloadError(code,reason);
deleteObjects();
return;
}
QByteArray data(reply->readAll());
emit downloadCompleted(data);
коннект проходи, если вы к этому клоните, повторяется не всегда, периодичности замечено не было, на сервере логируется что зпрос получен и что на него отвели, на тачке также wireshark ответ ловит