Я пытаюсь открыть веб-страницу с помощью QNetworkAccessManager - и для некоторых страниц он работает нормально, а для других - нет.Я попытался установить реальный пользовательский агент браузера, однако он все еще не работает, например, http://www.erepublik.com. Вот код:
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)));
QNetworkRequest *request = new QNetworkRequest(QUrl("http://www.erepublik.com"));
request->setRawHeader( "User-Agent", "Mozilla/5.0 (X11; U; Linux i686 (x86_64); "
"en-US; rv:1.9.0.1) Gecko/2008070206 Firefox/3.0.1" );
request->setRawHeader( "charset", "utf-8" );
request->setRawHeader( "Connection", "keep-alive" );
manager->get(*request);
...
void MainWindow::replyFinished(QNetworkReply *reply)
{
QString data = reply->readAll();
qDebug() << data;
}
Данные следующие:
<html><head><meta http-equiv="refresh" content="0;url=http://www.erepublik.com/en"/></head></html><html><head><meta http-equiv="refresh" content="0;url=http://www.erepublik.com/en"/></head></html>
Теперь, что меня беспокоит, это работает для сайта, подобного http://www.hardwarebase.net (данные возвращают нормальный источник HTML), хотя он не работает для eRepublik,
Для тех, кому интересно узнать, что именно я хочу сделать - я хочу узнать количество стран на первой странице eRepublik.
Есть идеи, почему это происходит?Заранее спасибо.