Есть база, из неё периодически нужно проверять данные на нескольких хостах. Изобразил что-то такое
// в конструкторе
connect(&http, SIGNAL(readyRead(const QHttpResponseHeader)), this,
SLOT(readData(const QHttpResponseHeader)));
// в функции выборки из базы данных нескольких адресов, по которым нужно стянуть данные
QHttpRequestHeader header( "GET", url.path() );
header.setValue( "Host", url.host() );
http.setHost( url.host() );
id = http.request( header );
В итоге в readData(const QHttpResponseHeader) приходит ответ с первым запрошенным id... И всё, больше ничего не приходит, остальные здохли, на них даже done не вызывается. Как правильно сделать опрос нескольких хостов? Делать лист QHttp и тыкать каждый запрос в слот отдельно? Не очень красиво, ИМХО.
И, на сколько я понял, получить URL обратно из QHttp (методы обратные setHost, setPath) или QHttpResponse тоже дохлый номер, только хранить массив с привязкой id адреса к id запроса?
И третий вопрос, так, между делом. Как эту бяку заставить работать с proxy, например squid? Логин/пароль не требуется. Проксь умеет кэшировать.
proxy.setHostName("192.168.0.1");
proxy.setPort(3128);
proxy.setType(QNetworkProxy::HttpProxy);
QNetworkProxy::setApplicationProxy(proxy);
http.setProxy(proxy);
Вроде как webView данные тянет, а QHttp всё равно отпинывает то с неопределённой ошибкой, то с неверным запросом, в зависимости от указания типа прокси.