On-line: Haz, гостей 0. Всего: 1 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 253
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 16.03.21 21:55. Заголовок: Облачные сервисы (WebDAV, CalDAV &Co)


После некоторого разбирательства с прогой удалось организовать импорт из ICAL-файлов и экспорт в оные. Но тут шеф захотел, чтобы был прямой контакт с CalDav через интернет. Я знаю, что на питоне такое возможно. На дельфине и даже Xojo (RealBasic) тоже - через спецбиблиотеку. Но как реализовать подключение к облачному сервису в Harbour/Minigui?

Возможно ли это вообще?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 171 , стр: 1 2 3 4 5 6 7 8 9 All [только новые]


постоянный участник




Пост N: 3613
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.03.21 07:00. Заголовок: Dr. Oldwarez Посмот..


Dr. Oldwarez
Посмотрите hb ...\contrib\hbtip\... и поиск по *.prg "http " в MiniGui\samples

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3614
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.03.21 07:35. Заголовок: PS Если сервер htpps..


PS
Если сервер htpps, то смотрите curl утилиту (в ней был сертификат ssl)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1601
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 17.03.21 09:52. Заголовок: SergKis пишет: смот..


SergKis пишет:

 цитата:
смотрите curl утилиту


+
И в дополнение Use a webdav service with curl

Если получится с curl, то следующим шагом может стать переход на contrib\hbcurl

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 304
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 17.03.21 10:03. Заголовок: SergKis пишет: Если..


SergKis пишет:

 цитата:
Если сервер htpps, то смотрите curl утилиту (в ней был сертификат ssl)



про https: тут писали http://clipper.borda.ru/?1-4-0-00000774-000-10001-0-1570774946

Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Пост N: 254
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 18.03.21 13:03. Заголовок: Это по скачиванию ве..


Это по скачиванию веб-страниц и считыванию данных с них. У меня немножко другой случай. Не веб-страница, а календарь. И много классов, которые я не нахожу в своей документации. Например TIpClientHttp, THtmlDocument. Скачал специально harbour c примерами и там в contrib\hbcurl что-то про выгрузку данных на ftp, но никак уж про CalDav. Да и формат там отнюдь не веб-страничный.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1602
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 18.03.21 14:04. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Скачал специально harbour c примерами и там в contrib\hbcurl что-то про выгрузку данных на ftp, но никак уж про CalDav.


Там что-то про использование libcurl (инициализация, заполнение структур) на примере работы с ftp.
Другие примеры на C можно найти на странице проекта.

Use a webdav service with curl - это о чем?

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1442
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.03.21 16:08. Заголовок: Не знаю, что такое C..


Не знаю, что такое CalDav и не вспомню навскидку о webdav, но предложение SergKis использовать curl мне кажется перспективным. Поиск на Яндексе по 'curl webdav' дает кучу ссылок - т.е., curl с webdav работает.
Я обычно советую использовать не hbcurl, чтобы не тратить время на его изучение, а запускать непосредственно утилиту командной строки curl.exe, передавая ей файл с нужными параметрами.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 255
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 18.03.21 20:57. Заголовок: Про CalDAV здесь Cal..


Про CalDAV здесь CalDAV

Но мне бы всё-таки хотелось встроенную библиотеку для удобства дистрибуции. Изучить я смогу. Только дайте мне документацию, а то hbd я не знаю, чем прочесть. И несколько примеров.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3616
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.03.21 22:45. Заголовок: Dr. Oldwarez Рекоме..


Dr. Oldwarez
Рекомендую начать с curl, можно найти описание и даже примеры, а встроенную библиотеку, придется изучать по исходникам.
Вот практически первый ответ на запрос google: "curl.exe и caldav запросы" https://www.atmail.com/blog/caldav-carddav/

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 256
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 19.03.21 15:54. Заголовок: Скачал этот CURL теп..


Скачал этот CURL
теперь вот вопрос, что ставить в PROPFIND
curl -k --user "${login}:${password}" -X PROPFIND "https://owncloud.jujens.eu/remote.php/caldav/calendars/jujens/defaultcalendar"


Вместо https://owncloud.jujens.eu/remote.php/caldav/calendars/jujens/defaultcalendar

У меня в календаре на вкладке Subscription выходят пять адресов

CalDAV Subscription URL

CalDAV Account URL

WebDAV/ICS Subscription URL

Feed URL

Embed Script


Что именно ставить туда?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3619
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.03.21 16:43. Заголовок: Попробуйте первых 3,..


Попробуйте первых 3, добавьте только параметр -O (в тек. каталоге файл)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 257
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 19.03.21 19:26. Заголовок: SergKis пишет: Попр..


SergKis пишет:

 цитата:
Попробуйте первых 3, добавьте только параметр -O (в тек. каталоге файл)



Выходит так
c:\curl\bin>curl -k -o --user "${USERNAME}:${PASSWORD}" -X PROPFIND "https://webmail.kleeblatt.com/rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7" 
Warning: The file name argument '--user' looks like a flag.
curl: (3) URL using bad/illegal format or missing URL
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DAV\Exception\NotAuthenticated</s:exception>
<s:message>No basic authentication headers were found</s:message>
<s:sabredav-version>1.8.12</s:sabredav-version>
</d:error>


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3620
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.03.21 20:59. Заголовок: Dr. Oldwarez флаг -..


Dr. Oldwarez
флаг --user правильно задан ?
curl -u username:password ...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1604
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 19.03.21 22:06. Заголовок: SergKis пишет: флаг..


SergKis пишет:

 цитата:
флаг --user правильно задан ?



Скорее всего правильно: флаги -u и --user равноценны.

"${USERNAME}:${PASSWORD}" - пытается получить значения из переменных окружения (хотя хз, что там на самом деле).

а вот -o - вывод в файл, а не stdout
после -o должен следовать аргумент имя локального файла, он не указан
поэтому и получили Warning: The file name argument '--user' looks like a flag

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3621
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.03.21 22:29. Заголовок: Петр пишет хотя хз, ..


Петр пишет
 цитата:
хотя хз, что там на самом деле


Именно это и говорил, раз получили такое сообщение Warning:...

 цитата:
после -o должен следовать аргумент имя локального файла, он не указан


после -o да, после -O не обязательно, если не указан берет имя файла из адреса без пути (для пробы и тестов пробовать можно)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1605
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 19.03.21 22:44. Заголовок: SergKis пишет: посл..


SergKis пишет:

 цитата:
после -o да


Ну так у него -o
а вот "${USERNAME}:${PASSWORD}" - это что-то не из винды, непонятно может msys использует.

Интересно что это значит:

 цитата:
curl: (3) URL using bad/illegal format or missing URL



У меня при
curl -k -oout.txt -O --user "${USERNAME}:${PASSWORD}" -X PROPFIND "https://webmail.kleeblatt.com/rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7"
получилось
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DAV\Exception\NotAuthenticated</s:exception>
<s:message>Username or password does not match</s:message>
<s:sabredav-version>1.8.12</s:sabredav-version>
</d:error>
что в принципе правильно

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3622
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.03.21 23:00. Заголовок: Петр пишет Интересно..


Петр пишет
 цитата:
Интересно что это значит:


Из показанной выше ссылке curl и CalDav (google перевод) понял, что на сервере надо иметь рег. запись и по ней
делать пошаговые запросы, получая адреса. Возможно, сообщение, как следствие не коннекта, не сталкивался с таким.
Пробовал работу с ftp и передавать, получать json данные с чужим сервером.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 258
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 19.03.21 23:04. Заголовок: Петр пишет: У меня..


Петр пишет:

 цитата:

У меня при
curl -k -oout.txt -O --user "${USERNAME}:${PASSWORD}" -X PROPFIND "https://webmail.kleeblatt.com/rpc.php/calendars/illya@kleeblatt.com/calendar~GhGVum1xWexaffEfhiVkNN7"
получилось
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DAV\Exception\NotAuthenticated</s:exception>
<s:message>Username or password does not match</s:message>
<s:sabredav-version>1.8.12</s:sabredav-version>
</d:error>
что в принципе правильно



Вроде что-то получилось
curl -k -o test.xml --user USERNAME:PASSWORD -X PROPFIND "https://webmail.kleeblatt.com/rpc.php/principals/illya@kleeblatt.com/"

Вышло
 
<?xml version="1.0" encoding="utf-8"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:cal="urn:ietf:params:xml:ns:caldav" xmlns:cs="http://calendarserver.org/ns/" xmlns:card="urn:ietf:params:xml:ns:carddav">
<d:response><d:href>/rpc.php/principals/illya@kleeblatt.com/</d:href><d:propstat><d:prop><d:getlastmodified>Fri, 19 Mar 2021 20:06:47 GMT</d:getlastmodified><d:resourcetype><d:principal/>
</d:resourcetype></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response></d:multistatus>


Теперь, как, собственно говоря, войти в календарь и просмотреть его содержимое?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1606
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 19.03.21 23:11. Заголовок: SergKis пишет: Возм..


SergKis пишет:

 цитата:
Возможно, сообщение, как следствие не коннекта,


Вот нашел API error: curl: (3) URL using bad/illegal format or missing URL

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1607
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 19.03.21 23:23. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Вроде что-то получилось
curl -k -o test.xml --user USERNAME:PASSWORD -X PROPFIND "https://webmail.kleeblatt.com/rpc.php/principals/illya@kleeblatt.com/"


Куда этот url ссылается?

Эту часть почему отбросили
/calendar~GhGVum1xWexaffEfhiVkNN7

Спасибо: 1 
ПрофильЦитата Ответить
Ответов - 171 , стр: 1 2 3 4 5 6 7 8 9 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 11
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет