Russian Qt Forum
Март 28, 2024, 16:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Высокоуровневая обёртка над QNetworkAccessManager для упрощения работы с веб  (Прочитано 6014 раз)
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.

Обратная связь приветствуется! Критика тоже!;)
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Август 26, 2016, 01:59 »

Она только Get запросы умеет делать?
А Post?
Записан

Dimka Novikov
Гость
« Ответ #2 : Август 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/");
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #3 : Сентябрь 15, 2016, 09:11 »

При попытке сборки ругается на HttpMultiPart_p.cpp: #include "QMimeDatabase" - нет такого файла
Qt 4.5
Наверное, дело в версии Qt?
Нельзя ли это дело как-то обойти, не устанавливая новой версии Qt?
« Последнее редактирование: Сентябрь 15, 2016, 09:15 от Day » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #4 : Сентябрь 15, 2016, 10:36 »

QMimeDatabase появилось в Qt 5.0
Записан

alexorleon
Гость
« Ответ #5 : Ноябрь 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. А то атрибуты файлы добавлялись в текстовые атрибуты.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 23.