Собственно портировал приложение на Qt5. Заменил QHttp на сабж, приложение может делать сразу около 30 запросов, потом может их все прервать и сделать другие 30 запросов.
Как реализовать?
Так корректно?
class DataSource{
QMap<QNetworkReply*, QString> loadingData; }
void DataSource::loadData(const QString& host, const QString& url, const QString &data)
{
QNetworkRequest netWorkRequest(QUrl("http://" + host + url));
netWorkRequest.setRawHeader("User-Agent" , "Opera");
QNetworkReply* reply = netWorkLoader->get(netWorkRequest);
loadingData[reply] = data;
}
void DataSource::requestFinished(QNetworkReply* reply)
{
if(reply->error()) {...}
else
if (loadingData.contains(reply)){
QString data = loadingData[reply];
loadingData.remove(reply);
myReadData(data, reply->readAll()); }
reply->deleteLater();
}
void DataSource::abortLoading()
{
foreach (QNetworkReply* reply, loadingMap.keys())
reply->abort();
loadingData.clear();
}
p.s. Почему без user-agent многие сайты не дают информацию?