Тайм-аут соединения при попытке доступа к Pastebin через Qt

В результате серии неудачных попыток я попытался выполнить простой запрос GET на Pastebin главная страница сайта с Qt 5.1:

typedef void (QNetworkReply::*ReplyError)(QNetworkReply::NetworkError);

int main(int argc, char *argv [])
{
QCoreApplication app(argc, argv);

QNetworkAccessManager manager;
QNetworkRequest request(QUrl("http://www.pastebin.com"));
QNetworkReply * reply = manager.get(request);

QObject::connect(reply, &QNetworkReply::finished, [reply] {
qDebug() << reply->readAll();
});

QObject::connect(reply, static_cast<ReplyError>(&QNetworkReply::error),
[reply](QNetworkReply::NetworkError code) {
qDebug() << "Error code   : " << code;
qDebug() << "Reply        : " << reply->readAll();
qDebug() << "Error string : " << reply->errorString();
qDebug() << "HTTP status  : " << reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
});

return app.exec();
}

Через некоторое время консоль выводит:

Error code   : 99
Reply        : ""Error string : "Connection timed out"HTTP status  : 0

Я также узнал, что я получаю ip-забанение с их сайта на ~ 10 минут (я не могу получить доступ к сайту через браузер, пока не поменяю местоположение VPN).

Я попробовал тот же запрос в Python, и он работал нормально.

В чем здесь проблема? Проблема исходит от Qt или Pastebin?

Редактировать :

Пробовал с Qt 4.8.5. Получил тот же результат.

Изменить 2:

Я попробовал почти 2 месяца спустя с той же версией фреймворка, и она работает сейчас. Я думаю, что они исправили что-то на сайте Pastbin …

1

Решение

Пытаться этот пример простой операции загрузки на любом URL, включая pastebin.

Это базовая реализация для менеджера загрузок, но вы должны иметь возможность сократить его для своих нужд. Если эта реализация также терпит неудачу с тем же тайм-аутом, то это может быть что-то не так с доступностью url pastebin или доступностью pastebin по сети.

Более того, в вашем коде соединение готово и сигнал об ошибке должны быть сделаны до manager.get(request),

Я надеюсь, что это помогает.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]