Difference between revisions of "IPConnection.HTTPGetCookieRequest"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:51, 7 February 2021
HTTPGetCookieRequest (Работа с HTTP) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция получает одно поле 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;