@Thegaar

Как сохранять Cookie 1с+HTTPСоединение?

Столкнулся с такой проблемой. Коннекчусь к bitrix для авторизации и дальнейшей работы. Создаю httpсоединение (адрес сайта+логин+пароль в параметрах), Оправляю запрос к странице обмена (там присутствует авторизация, когда передаёшь параметр mode=checkauth). В ответ, если авторизация успешна страница выдаёт 3 строки.
success\n session_name()\n session_id()\n.
В 1с обрабатываю эти строки и заношу в переменную "Заголовки" типа "Соответствие" таким образом :
Заголовки.Вставить("Cookie: ", СтрПолучитьСтроку(РезультатЗапроса, 2)+"="+СтрПолучитьСтроку(РезультатЗапроса, 3));

Далее отправляю тот же запрос, только дополнительно вставляю в параметр свою переменную "Заголовки". В ответ получаю опять эти 3 строки только уже с другим session_id (session_name всегда один и тот же). Что я делаю не так? Нише код 2ух функций (Создание соединения, Отправка запроса)

Функция СоединениеССервером(Хост, Логин = "admin", Пароль = "123456") Экспорт
	
	Соединение = Неопределено;
	ЗаписатьВЖурналРегистрации("Соединение с сервером","Информация", , ,"Попытка соединения с сервером");
	Попытка
		Соединение = Новый HTTPСоединение(Хост, , Логин, Пароль, , Ложь);
		ЗаписатьВЖурналРегистрации("Соединение с сервером","Информация", , ,"Соединение успешно установлено!");
	Исключение
	         ЗаписатьВЖурналРегистрации("Соединение с сервером","Ошибка", , ,ОписаниеОшибки());
	Конецпопытки;
	
	Возврат Соединение;
	
КонецФункции

Функция ПолучитьОтветОтСервера(Соединение, СтрЗапрос = "", Заголовки = Неопределено) Экспорт
	
	Если Заголовки = Неопределено Тогда
		Заголовки = Новый Соответствие;
	КонецЕсли;
	
	Результат = Неопределено;
	Запрос = Новый HTTPЗапрос(СтрЗапрос, Заголовки);
	Запрос.Заголовки = Заголовки;
	Попытка
		Ответ = Соединение.Получить(Запрос);
		Результат = Ответ.ПолучитьТелоКакСтроку();
	Исключение
		ЗаписатьВЖурналРегистрации("Ответ от сервера", "Ошибка", , , ОписаниеОшибки());	
	КонецПопытки;

	Возврат Результат;
КонецФункции
  • Вопрос задан
  • 4046 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы