Я это сначала сделал через QNetworkAccessManager, и получилось довольно удачно. Далее предстоит сделать запрос странички через XMLHTTPRequest. Проблема в том, что в этом случае ответ приходит без http заголовка, тупо сам текст.
Если делаю так:
void MainWindow::replyFinished(QNetworkReply* reply)
{
QByteArray arr = reply->readAll();
ui->label->setText(QString::number(arr.capacity()));
}
то при этом запросе arr.capacity() равен нулю, хотя в браузере отображаются нужные данные, если запрашиваю нормальную веб-страницу, то arr.capacity() содержит размер этой страницы.
Я в веб-технологии не спец, поэтому, показываю как я делал такие запросы на джаваскрипте:
// Функция для создания объекта XMLHttpRequest. Подходит для любого браузера
function getXmlHttp()
{
var xmlhttp;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
// А вот так делается сам запрос
var xmlhttp = getXmlHttp();
xmlhttp.open('GET', "192.168.1.170/pas/t", true);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if(xmlhttp.status == 200) {
var text = xmlhttp.responseText;
// здесь обрабатываем принятые данные, они находятся в переменной text
}
}
}
xmlhttp.send(null);
Как сделать подобное на Qt?
Спасибо!