Автор | Сообщение |
|
| постоянный участник
|
Пост N: 253
Зарегистрирован: 27.07.08
|
|
Отправлено: 16.03.21 21:55. Заголовок: Облачные сервисы (WebDAV, CalDAV &Co)
После некоторого разбирательства с прогой удалось организовать импорт из ICAL-файлов и экспорт в оные. Но тут шеф захотел, чтобы был прямой контакт с CalDav через интернет. Я знаю, что на питоне такое возможно. На дельфине и даже Xojo (RealBasic) тоже - через спецбиблиотеку. Но как реализовать подключение к облачному сервису в Harbour/Minigui? Возможно ли это вообще?
|
|
|
Ответов - 174
, стр:
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
|
|
|
|
| постоянный участник
|
Пост N: 3614
Зарегистрирован: 17.02.12
|
|
Отправлено: 17.03.21 07:35. Заголовок: PS Если сервер htpps..
PS Если сервер htpps, то смотрите curl утилиту (в ней был сертификат ssl)
|
|
|
|
| постоянный участник
|
Пост N: 1601
Зарегистрирован: 09.10.06
|
|
Отправлено: 17.03.21 09:52. Заголовок: SergKis пишет: смот..
|
|
|
|
| |
Пост N: 304
Зарегистрирован: 05.10.06
|
|
Отправлено: 17.03.21 10:03. Заголовок: SergKis пишет: Если..
|
|
|
|
| постоянный участник
|
Пост N: 254
Зарегистрирован: 27.07.08
|
|
Отправлено: 18.03.21 13:03. Заголовок: Это по скачиванию ве..
Это по скачиванию веб-страниц и считыванию данных с них. У меня немножко другой случай. Не веб-страница, а календарь. И много классов, которые я не нахожу в своей документации. Например TIpClientHttp, THtmlDocument. Скачал специально harbour c примерами и там в contrib\hbcurl что-то про выгрузку данных на ftp, но никак уж про CalDav. Да и формат там отнюдь не веб-страничный.
|
|
|
|
| постоянный участник
|
Пост 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 - это о чем?
|
|
|
|
| moderator
|
Пост N: 1442
Зарегистрирован: 06.07.06
|
|
Отправлено: 18.03.21 16:08. Заголовок: Не знаю, что такое C..
Не знаю, что такое CalDav и не вспомню навскидку о webdav, но предложение SergKis использовать curl мне кажется перспективным. Поиск на Яндексе по 'curl webdav' дает кучу ссылок - т.е., curl с webdav работает. Я обычно советую использовать не hbcurl, чтобы не тратить время на его изучение, а запускать непосредственно утилиту командной строки curl.exe, передавая ей файл с нужными параметрами.
|
|
|
|
| постоянный участник
|
Пост N: 255
Зарегистрирован: 27.07.08
|
|
Отправлено: 18.03.21 20:57. Заголовок: Про CalDAV здесь Cal..
Про CalDAV здесь CalDAV Но мне бы всё-таки хотелось встроенную библиотеку для удобства дистрибуции. Изучить я смогу. Только дайте мне документацию, а то hbd я не знаю, чем прочесть. И несколько примеров.
|
|
|
|
| постоянный участник
|
Пост 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/
|
|
|
|
| постоянный участник
|
Пост 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 Что именно ставить туда?
|
|
|
|
| постоянный участник
|
Пост N: 3619
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.03.21 16:43. Заголовок: Попробуйте первых 3,..
Попробуйте первых 3, добавьте только параметр -O (в тек. каталоге файл)
|
|
|
|
|
| постоянный участник
|
Пост 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>
|
|
|
|
| постоянный участник
|
Пост N: 3620
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.03.21 20:59. Заголовок: Dr. Oldwarez флаг -..
Dr. Oldwarez флаг --user правильно задан ? curl -u username:password ...
|
|
|
|
| постоянный участник
|
Пост 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
|
|
|
|
| постоянный участник
|
Пост N: 3621
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.03.21 22:29. Заголовок: Петр пишет хотя хз, ..
Петр пишет цитата: | хотя хз, что там на самом деле |
| Именно это и говорил, раз получили такое сообщение Warning:... цитата: | после -o должен следовать аргумент имя локального файла, он не указан |
| после -o да, после -O не обязательно, если не указан берет имя файла из адреса без пути (для пробы и тестов пробовать можно)
|
|
|
|
| постоянный участник
|
Пост N: 1605
Зарегистрирован: 09.10.06
|
|
Отправлено: 19.03.21 22:44. Заголовок: SergKis пишет: посл..
SergKis пишет: Ну так у него -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> что в принципе правильно
|
|
|
|
| постоянный участник
|
Пост N: 3622
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.03.21 23:00. Заголовок: Петр пишет Интересно..
Петр пишет цитата: | Интересно что это значит: |
| Из показанной выше ссылке curl и CalDav (google перевод) понял, что на сервере надо иметь рег. запись и по ней делать пошаговые запросы, получая адреса. Возможно, сообщение, как следствие не коннекта, не сталкивался с таким. Пробовал работу с ftp и передавать, получать json данные с чужим сервером.
|
|
|
|
| постоянный участник
|
Пост 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> Теперь, как, собственно говоря, войти в календарь и просмотреть его содержимое?
|
|
|
|
| постоянный участник
|
Пост N: 1606
Зарегистрирован: 09.10.06
|
|
Отправлено: 19.03.21 23:11. Заголовок: SergKis пишет: Возм..
|
|
|
|
| постоянный участник
|
Пост 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
|
|
|
Ответов - 174
, стр:
1
2
3
4
5
6
7
8
9
All
[только новые]
|
|