Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Синхронизация документов с сайта по HTTPS

7
14 ноября 2012 года
@pixo $oft
3.4K / / 20.09.2006
Доброго времени суток, уважаемые форумчане! Есть задача такого плана: имеется корпоративный сайт, на котором хранятся периодически обновляемые руководящие документы, которые неплохо бы синхронизировать в автоматическом режиме. Авторизация на сайте — через страницу авторизации, всё идёт через HTTPS
Решение представляется мне в следующей последовательности:
  1. Открытие страницы авторизации / Авторизация на сайте
  2. Получение сведений об имеющихся документах (по идее, сервер отдаёт дату последнего изменения; в крайнем случае определять по размеру файла)
  3. Загрузка изменённых документов
Увы, с интернетом, а тем более с протоколами прикладного уровня, я не работал, поэтому обладаю лишь сведениями о том, что для этого что-то есть (и даже знаю такие умные слова, как WinHTTP и WinINet), поэтому хотелось бы увидеть более конкретные направления копания (вплоть до конкретных функций) по моему алгоритму. Если вдруг в нём недостаёт пунктов (субъективно или объективно), буду рад увидеть конструктивные предложения. Более того, мне почему-то сдаётся, что для работы с HTTPS надо обладать чуть большими знаниями, чем означено выше

Ещё один пункт (необязательный, но желательный) — это разбор страницы со списком документов, т.к. ссылки там наверняка каждый раз меняются при обновлении. Чем для этого пользоваться (MSXML, MSHTML или что-то ещё), для меня пока неведомо

Как реализовать данную задачу?
277
14 ноября 2012 года
arrjj
1.7K / / 26.01.2011
wget (скрипт в десяток строк) /curl (скрипт/прога)
примерный порядок действий:
1) получаем страницу авторизации, сохраняем куки <-- чтоб получить сессию
2) пост-запрос на авторизацию с использованием предыдущих кук, сохраняем куки, парсим ответ (можно разобрать DOM/XML документа , хотя достаточно просто поискать текст ошибки, если ajax всё еще проще)
3) запрос странички со списком с использованием предыдущих кук, парсим всё (опятьже можно разобрать документ как DOM/XML , можно просто по регуляркам)
4) пост-запрос с куками и новыми файлами в посте (если на сайте какойнить хитрый альтернативный загрузчик то тут хуже)
5) запрос с куками на выход с сайта

Хотя проще былобы получить доступ к серверу по более легким протоколам - там ftp ssh ипр или хотяб апи небольшое в пару функций написать для сервера с более легкими и незамусоренными страничками
7
14 ноября 2012 года
@pixo $oft
3.4K / / 20.09.2006
Ну нет, wget и curl из другой оперы. Хотелось бы именно программно (ну и желательно статейки по WinHTTP, а то MSDN рассказывает лишь про функции)

А по другим протоколам доступа нет (по крайней мере, мне неизвестно). Документы там отдаются вот по такому sid'у, например:
https://domain/documents/open/?sid=31302e35342e302e313240d0a4d180d0b0d0bdd187d0b0d0b9d0b7d0b82f41344d2fd097d0b0d189d0b8d182d0b020d0b0d0b2d182d0bed180d181d0bad0b8d18520d0bfd180d0b0d0b22fd09fd180d0b0d0b2d0b8d0bbd0b020d0b8d181d0bfd0bed0bbd18cd1b7d0bed0b2d0b0d0bdd0b8d18f20d0bad0b0d180d182d0bed0b3d180d0b0d184d0b8d187d0b5d181d0bad0b8d18520d0bcd0b0d182d0b5d180d0b8d0b0d0bbd0bed0b22e646f62
Так что придётся парсить, что есть
277
14 ноября 2012 года
arrjj
1.7K / / 26.01.2011
Цитата: @pixo $oft
Ну нет, wget и curl из другой оперы. Хотелось бы именно программно (ну и желательно статейки по WinHTTP, а то MSDN рассказывает лишь про функции)


Что тебе мешает прилинковать libcurl к поректу и юзать его функции?
По WinHTTP статья: http://msdn.microsoft.com/ru-ru/magazine/cc716528.aspx
WinHTTP vs WinInet http://msdn.microsoft.com/ru-ru/library/windows/desktop/hh227297%28v=vs.85%29.aspx

ПыСы (Оффтоп) скрипты это тоже программы

7
14 ноября 2012 года
@pixo $oft
3.4K / / 20.09.2006
Скрипты — это всё-таки скрипты :3
Ладно, за статью спасибо, хоть она и асинхронная. Времени пока не столь много на программирование, но буду стараться понемногу выделять. A vs B читал, понял, что лучше всё-таки WinHTTP

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог