Название: Высокоуровневая обёртка над QNetworkAccessManager для упрощения работы с веб Отправлено: Dimka Novikov от Август 26, 2016, 00:33 Привет, народ! Мы выложили нашу небольшую библиотеку. Она предоставляет удобный способ для работы с вебом.
Например, загрузить страницу можно так: Код: const QByteArray data = NetworkRequestLoader::loadSync("https://github.com"); или так: Код: NetworkRequestLoader::loadAsync("https://github.com", [] (const QByteArray& _loadedData) { qDebug() << "Loaded" << _loadedData.size() << "bytes."; }); Если кому интересно, то пощупать можно тут - https://github.com/dimkanovikov/WebLoader. Обратная связь приветствуется! Критика тоже!;) Название: Re: Высокоуровневая обёртка над QNetworkAccessManager для упрощения работы с веб Отправлено: gil9red от Август 26, 2016, 01:59 Она только Get запросы умеет делать?
А Post? Название: Re: Высокоуровневая обёртка над QNetworkAccessManager для упрощения работы с веб Отправлено: Dimka Novikov от Август 26, 2016, 07:54 Post тоже без проблем.
Код: NetworkRequest request; requset.setRequestMethod(NetworkRequest::Post); request.addRequestAttribute("id", 1893); request.addRequestAttributeFile("photo", "/home/user/Images/photo.png"); const QByteArray postStatus = request.loadSync("https://site.com/API/v1/savePhoto/"); Название: Re: Высокоуровневая обёртка над QNetworkAccessManager для упро& Отправлено: Day от Сентябрь 15, 2016, 09:11 При попытке сборки ругается на HttpMultiPart_p.cpp: #include "QMimeDatabase" - нет такого файла
Qt 4.5 Наверное, дело в версии Qt? Нельзя ли это дело как-то обойти, не устанавливая новой версии Qt? Название: Re: Высокоуровневая обёртка над QNetworkAccessManager для упрощения работы с веб Отправлено: gil9red от Сентябрь 15, 2016, 10:36 QMimeDatabase (http://doc.qt.io/qt-5/qmimedatabase.html) появилось в Qt 5.0
Название: Re: Высокоуровневая обёртка над QNetworkAccessManager для упрощения работы с веб Отправлено: alexorleon от Ноябрь 16, 2016, 10:50 Post тоже без проблем. Код: NetworkRequest request; requset.setRequestMethod(NetworkRequest::Post); request.addRequestAttribute("id", 1893); request.addRequestAttributeFile("photo", "/home/user/Images/photo.png"); const QByteArray postStatus = request.loadSync("https://site.com/API/v1/savePhoto/"); Спасибо за полезную библиотеку! В методе void NetworkRequest::addRequestAttributeFile была опечатка. Надо поменять на вызов соответствующего действия addAttributeFile. А то атрибуты файлы добавлялись в текстовые атрибуты. |