我正在尝试下载CSV文件从雅虎财务使用GET在我的程序,是使用QT4.7。
YahooDataLoader::YahooDataLoader(QObject *parent): QObject(parent)
{
manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(printNewData(QNetworkReply*)));
}
void YahooDataLoader::getDataForCompany(QString companyName, QDate startDate, QDate endDate) {
QString string("http://ichart.finance.yahoo.com/table.csv?s=GOOG&a=00&b=1&c=2014&d=02&e=1&f=2014");
QNetworkRequest request;
request.setUrl(QUrl(string));
manager->get(request);
}
void YahooDataLoader::printNewData(QNetworkReply* reply) {
QByteArray bytes = reply->readAll();
QString string = QString::fromUtf8(bytes);
Reporter::getInstance()->logMessage(string);
}不幸的是,我没有收到任何响应,我的意思是没有调用printNewData()。我认为这个URL是正确的..。你知道是怎么回事吗?
发布于 2014-03-02 07:35:37
YahooDataLoader* loader = new YahooDataLoader(0);
loader->getDataForCompany("", QDate(), QDate());产出:
“日期,打开,高,低,关闭,音量,关闭2014-02-28,1220.34,1224.19,1206.22,1215.65,2313600,1215.65 2014-02-27,1218.39,1224.23,1217.01,1219.21,1260000,1219.21 2014-02-26,1224.00,1228.88,1213.76,1220.17,1982200,1220.17 2014-02-25,1215.94,1224.50,1210.42,1220.00,1438700,1220.00 2014-02-24,1205.36,1220.16,1205.10,1212.51,1674300,1212.51 2014-02-21,1207.81,1209.87,1202.84,1203.79,1862300,1203.79 2014-02-20,1203.14,1206.89,1200.22,1204.11,1700800,1204.11 2014-02-19,1205.30,1209.22,1197.50,1202.34,2103600,1202.34 2014-02-18,1201.41,1212.87,1200.00,1210.88,2108900,1210.88 2014-02-14,1195.61,1204.39,1192.80,1202.80,2186700,1202.80
正如您所看到的,您的代码在我的机器上运行得很好。也许您忘记了代码中的getDataForCompany函数调用?
https://stackoverflow.com/questions/22120117
复制相似问题