gpt4 book ai didi

c++ - QNetworkAccessManager问题

转载 作者:搜寻专家 更新时间:2023-10-31 01:18:44 25 4
gpt4 key购买 nike

我正在尝试使用 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 首页获取国家/地区的人口数量。

知道为什么会这样吗?提前致谢。

最佳答案

看起来您正在正确获取数据,只是那个特定的 URL 只是将您转发到另一个 URL。尝试 http://www.erepublik.com/en (使用/en)代替。

关于c++ - QNetworkAccessManager问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6837288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com