T
T
Thegaar2015-12-11 09:06:38
Programming
Thegaar, 2015-12-11 09:06:38

How to save Cookie 1c+HTTPConnection?

Faced such a problem. I connect to bitrix for authorization and further work. I create an http connection (website address + login + password in the parameters), I send a request to the exchange page (there is authorization when you pass the mode=checkauth parameter). In response, if the authorization is successful, the page displays 3 lines.
success\n session_name()\n session_id()\n.
In 1s I process these lines and put them in the "Headers" variable of the "Compliance" type in this way:

Заголовки.Вставить("Cookie: ", СтрПолучитьСтроку(РезультатЗапроса, 2)+"="+СтрПолучитьСтроку(РезультатЗапроса, 3));

Further I send the same request, only I additionally insert my variable "Headers" into the parameter. In response, I get these 3 lines again only with a different session_id (session_name is always the same). What am I doing wrong? Niche code for 2 functions (Creating a connection, Sending a request)
Функция СоединениеССервером(Хост, Логин = "admin", Пароль = "123456") Экспорт
  
  Соединение = Неопределено;
  ЗаписатьВЖурналРегистрации("Соединение с сервером","Информация", , ,"Попытка соединения с сервером");
  Попытка
    Соединение = Новый HTTPСоединение(Хост, , Логин, Пароль, , Ложь);
    ЗаписатьВЖурналРегистрации("Соединение с сервером","Информация", , ,"Соединение успешно установлено!");
  Исключение
           ЗаписатьВЖурналРегистрации("Соединение с сервером","Ошибка", , ,ОписаниеОшибки());
  Конецпопытки;
  
  Возврат Соединение;
  
КонецФункции

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

  Возврат Результат;
КонецФункции

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question