QNetworkAccessManager を使用して Web ページを開こうとしています - 一部のページでは正常に動作しますが、他のページでは正常に動作しません。実際のブラウザのユーザー エージェントを設定しようとしましたが、たとえば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 のフロント ページから国の人口数を取得したいと考えています。
なぜこれが起こっているのですか?前もって感謝します。