IPConnection.HTTPGetCookieRequest

From SunFlurry wiki
Revision as of 09:26, 24 April 2020 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  HTTPGetCookieRequest (Работа с HTTP)
Объект:Объект IP
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в строку, число
Визуальность:Нет

Функция получает одно поле Set-Cookie из текущего заголовка по наименованию cookie или индексу поля. Полученная информация имеет формат <CookieName>=<value>[; <opt1>; <opt2>...] (к примеру, id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly). В дальнейшем информацию можно разобрать в виде списка с помощью функции HTTPTranslateCookieRequest, если это необходимо. Обычно функции, связанные с такими полями, применяются после получения ответа сервера, чтобы получить информацию о cookie, которые просит сохранить сервер. Вместо получения и обработки cookie с помощью функций HTTP, можно использовать объект cookie, информацию в который можно загрузить с помощью функции UpdateFromHeader. Важно понимать, что функция работает для HTTP пакетов сервера и получает запросы для переменных cookie, которые были отправлены в пакете от сервера Set-Cookie, таких полей может быть несколько, поле Cookie приходит в HTTP пакетах от клиента серверу и оно всегда одно (см. также функцию IPConnection.HTTPSetCookie).

Синтаксис

IPConnection.HTTPGetCookieRequest(<Наименование или индекс cookie (STRING,INT)>):<Строка запроса cookie (STRING)>

Аргументы

  • <Наименование или индекс cookie (STRING,INT)> - ANSI строка с наименованием переменной cookie для получения запроса, либо числовым индексом поля Set-Cookie (индексация начинается с единицы). Наименования записываются с учетом регистра. AAAAA и aaaaa это два разных наименования, задающие разные переменные. Если запроса с нужным наименованием не существует, функция возвращает пустую строку.

Возвращаемое значение

Возвращает ANSI строку запроса на установку переменной cookie в формате <CookieName>=<value>[; <opt1>; <opt2>...], либо пустую строку.

Примеры

Try
  If not TCP.HTTPReceive Then
    Exit;
  EndIf;
  Message("Заголовок содержит следующие запросы на установку cookie:");
  For i:=1 to TCP.HTTPCookieRequestCount Do
    Message("  "+TCP.HTTPGetCookieRequest(i));
  EndDo;
  ...    
Finally
  TCP.Disconnect();
EndTry;