Qt запрашивает динамический XML из Web - PullRequest
1 голос
/ 13 марта 2012

Я изучаю Qt и хочу загрузить файл XML из Интернета. Значение QUrl зависит от следующих значений value1 и value2; Пример:

http://www.example.org/path/the_xml_file.xml?value1=1&value2=2

Здесь я установил QString destination_XML_URL

void AClass::setUrlString(quint32 t_value1, quint32 t_value2) {
    destination_XML_URL = QString("http://www.anyweb.com/path/the_xml_file.xml?value1=%1&value2=%2").arg(t_value1).arg(t_value2);
}

Затем я запрашиваю это местоположение с помощью QUrl в методе:

QNetworkAccessManager url_network_access_manager;
//..;
setTarget(12, 34);  
QUrl xml_Url(destination_XML_URL);
QNetworkRequest request(xml_Url);
QNetworkReply url_network_reply = url_network_access_manager.get(request);

Наконец, соединение подключается:

connect(&url_network_access_manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(slot_disconnect2Net(QNetworkReply*)));

Затем слот, после извлечения XML-файла из Интернета:

void AClass::slot_disconnect2Net(QNetworkReply *data) {
    qint64 t_size1 = data->size();
    int error_code = data->error();
    switch(error_code) {
        case 0:
            transform_Raw_2_XML(data);
            break;
        case 3:
            break;
        case 301:
            break;  
        default:
            QMessageBox::critical(this, "AClass::disconnect2Net()", QString("Connection error %1:\n %2").arg(error_code).arg(data->errorString()), QMessageBox::Ok);
    }
}

Но я получаю код ошибки 3:

http://doc.qt.io/qt-4.8/qnetworkreply.html#NetworkError-enum

"QNetworkReply :: HostNotFoundError = 3: имя удаленного хоста не было найдено (неверное имя хоста) "

Есть идеи?

Ответы [ 3 ]

2 голосов
/ 13 марта 2012

Возможно ли, что ваше соединение находится за прокси-сервером?

0 голосов
/ 13 марта 2012

Это загадочное сообщение об ошибке означает, что имя удаленного хоста не найдено (недопустимое имя хоста); -)

Похоже на проблему прокси-сервера DNS.Пожалуйста, попробуйте заменить имя хоста на IP-адрес (208.73.210.29?)

0 голосов
/ 13 марта 2012

Похоже, сетевое соединение недоступно.Это не ошибка в вашем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...