Автор Тема: Download Request в Qt4 (как?)  (Прочетена 2470 пъти)

LinuxFanUNIX

  • Напреднали
  • *****
  • Публикации: 408
  • Distribution: Slackware 12.2
  • Window Manager: KDE 3.5.10
    • Профил
Download Request в Qt4 (как?)
« -: Oct 24, 2009, 19:50 »
Добър вечер!

Правя следната програма, но срещам проблем (по-точно не намирам логично решение и аз не знам защо):

През деня съм линкнал една временна директория за данни към /var/www, така че като се влезе в http://192.168.0.1 се вижда съдържанието на въпросната папка.

Та въпроса ми е следния:
Как да направя така че ако на адрес http://192.168.0.1/error.txt има такъв файл (по-точно е изтеглим) тогава да тръгне да се тегли, а ако го няма да си пише че всичко е нормално и че няма проблеми?

Пробвах разни логики с QUrl, но без успех. Т.е. трябва ми нещо подобно на това:
Код
GeSHi (C++):
  1. if (QUrl("http://192.168.0.1/error.txt")->isDownloadable) {
  2.    download("http://192.168.0.1/error.txt"); // давам го като пример де.
  3. } else {
  4.    // тук ще има някой QDialog който ще казва че всичко е наред
  5. }

Имайте впредвид че тази програма ще работи в мрежата и не става директно да правя запитване към /var/www. Знам че с wget ще стане най-лесно, но пък тогава трябва да се отваря нов процес, и тогава програмата няма да е изцяло на C++/Qt4!

Благодаря предварително на отзовалите се!
Активен

LinuxFanUNIX

  • Напреднали
  • *****
  • Публикации: 408
  • Distribution: Slackware 12.2
  • Window Manager: KDE 3.5.10
    • Профил
Re: Download Request в Qt4 (как?)
« Отговор #1 -: Oct 28, 2009, 15:45 »
Никой ли няма да помогне?
Активен

task_struct

  • Напреднали
  • *****
  • Публикации: 576
  • Distribution: Kubuntu 14.04
  • Window Manager: KDE 4.13
    • Профил
Re: Download Request в Qt4 (как?)
« Отговор #2 -: Oct 28, 2009, 17:12 »
Рагледай кода на този клас : http://api.kde.org/4.3-api/kdelibs-apidocs/kio/html/classKIO_1_1StoredTransferJob.html

Пример как се ползва в DataEngine-ите (в папката providers) http://kde-look.org/content/show.php/Photo+of+the+Day?content=104631

От там можe да ти хрумне нещо как да си го направиш :)
Активен

"Minds are like parachutes. They only function when they are open." - James Dewar

irc.freenode.net  / #linux-bg

v_badev

  • Напреднали
  • *****
  • Публикации: 1355
    • Профил
Re: Download Request в Qt4 (как?)
« Отговор #3 -: Oct 28, 2009, 17:19 »
Защо не ползваш QHttp::get? Ако му закачиш сигнала readyRead и му дадеш само път до файла който трябва да свали, в случая error.txt, в слота за readyRead ще получиш http статус. Ако е 404 значи файла го няма, ако е 200 имаш файл.

Винаги е по-бързо ако прегледаш примерите които идват с Qt, това го намерих там.
Активен