Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Дек 2017, 03:38
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Авторизация в wiki через HTTPСоединение  (Прочитано 2552 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Agregad

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-02-13
  • Сайт: 
  • Профессия: Разработчик 1С
Здравствуйте.

Помогите, пожалуйста, разобраться с POST запросами на авторизацию.
Есть wiki проект(самый стандартный), в котором надо авторизироваться и насоздавать страниц по шаблону, типо справки по разработке.

Так вот с авторизацией и не получается...

	
Соединение = Новый HTTPСоединение("wiki.test1.ru");

Заголовки = Новый Соответствие(); // тут я пробовал и кук имени пользователя передавать и без
Заголовки.Вставить("Cookie", "wiki_mwUserName=Николай;");

Запрос = Новый HTTPЗапрос("/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D1%85%D0%BE%D0%B4"); // страница входа
ОтветHTTP = Соединение.Получить(Запрос); // обычный GET для получения кука сессии

ИсхКук = ОтветHTTP.Заголовки.Получить("Set-Cookie");
Кук = Лев(ИсхКук, Найти(ИсхКук, ";")+1);

        /// Тут я с полученной страницы пытаюсь выдернуть полученный токен
Код_ = ОтветHTTP.ПолучитьТелоКакСтроку();
ЧтениеHTML = Новый ЧтениеHTML;
ЧтениеHTML.УстановитьСтроку(Код_);
ПостроительDOM = Новый ПостроительDOM;
ДокументHTML = ПостроительDOM.Прочитать(ЧтениеHTML);

ЭлементыwpLoginToken = ДокументHTML.ПолучитьЭлементыПоИмени("input");

ЭлементwpLoginToken = Неопределено;
Для каждого Эл Из ЭлементыwpLoginToken Цикл
Если Эл.Имя = "wpLoginToken" Тогда
ЭлементwpLoginToken = Эл.Значение;
Прервать;
КонецЕсли;
КонецЦИкла;

// Строка запроса
СтрокаОтправки = "wpName=Николай&wpPassword=123&wpLoginAttempt=%D0%92%D0%BE%D0%B9%D1%82%D0%B8&wpLoginToken=Токен";
СтрокаОтправки = СтрЗаменить(СтрокаОтправки, "Токен", ЭлементwpLoginToken);

        // формирую заголовок
        // пробую маскироваться под клиента другого уже, так как были подозрения на то, что по клиенту режется
Заголовки = Новый Соответствие();
Заголовки.Вставить("Accept", "text/html, application/xhtml+xml, */*");
Заголовки.Вставить("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko");
Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
Заголовки.Вставить("Content-Length", СтрДлина(СтрокаОтправки));
Заголовки.Вставить("Cookie", Кук);
HTTPЗапрос = Новый HTTPЗапрос("/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D1%85%D0%BE%D0%B4&action=submitlogin&type=login", Заголовки);
HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаОтправки); // Шлю POST
ОтветHTTP = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
Код_ = ОтветHTTP.ПолучитьТелоКакСтроку();

// Тут ОтветHTTP должен вернуть код переадресации и location, но возвращает всегда 200 и страницу, где пишет, что логин пустой. Такое чувство что не уходит тело POST.

Помогите разобраться, пожалуйста.



Оффлайн Agregad

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-02-13
  • Сайт: 
  • Профессия: Разработчик 1С


Теги:
 

Как объединить объект в реквизите формы с типом "ДокументОбъект" и объект формы, созданной через "ПолучитьФорму()"?

Автор acces969Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 242
Последний ответ 06 Авг 2017, 21:22
от alex0402
Здравствуйте!!! Необходимо востановить ИБ на определенную дату. Копии через конфигуратор на эту дату не сделали, но есть файл в формате CD в rar (Это программа сама сделала резервную копию). Возможно ли востановит ее в 1с и работать (как при загрузке копи

Автор Лариса198888Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1871
Последний ответ 24 Май 2016, 17:17
от Kironten
Ошибка при загрузке данных через (Обработка "Выгрузка и загрузка данных XML")

Автор Сергей_87Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 8563
Последний ответ 26 Апр 2012, 23:08
от Dethmontt
Обмен УТ 11 и БП 3.0 через универсальный обмен данными

Автор magnifico61Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 9
Просмотров: 7076
Последний ответ 25 Дек 2014, 13:40
от cska-fanat-kz
Нужен совет в подключении к системе спутникового мониторинга "renault-trucks(Optifleet)", через web-сервис!

Автор snoop82Раздел Беседка

Ответов: 0
Просмотров: 789
Последний ответ 11 Дек 2015, 06:56
от snoop82

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
178 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 180
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal