Difference between revisions of "IPConnection.HTTPSetCookie"
m (1 revision imported) |
|
(No difference)
| |
Latest revision as of 07:51, 7 February 2021
| HTTPSetCookie (Работа с HTTP) | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
Функция позволяет добавить информацию в поле заголовка Cookie. Функция обычно используется при формировании запроса на сервер для передачи сохраненных ранее переменных cookie. При использовании объекта cookie, нужный массив переменных можно загрузить в заголовок функцией CopyToHeader. Если переменная cookie уже существует в заголовке, данная функция заменяет ее значение. При отсутствии второго аргумента, переменная будет удалена из поля Cookie. Важно понимать, что функция работает для HTTP пакетов клиента и передает переменные cookie, которые были получены в пакете от сервера в полях заголовка Set-Cookie, сервер мог передать несколько таких полей, поле Cookie всегда одно в заголовке и содержит все переменные cookie в одном значении. Поле имеет следующий формат: Cookie: <Имя переменной 1>=<Значение переменной 1>[; <Имя переменной 2>=<Значение переменной 2>...]. Поэтому значение переменных cookie должны содержать только ASCII символы (ограничение формата заголовка HTTP пакетов), не должны содержать символов с кодами <32, и не должны содержать следующие символы: ;, ,, ", \ и пробел (знак = разрешен).
Синтаксис
IPConnection.HTTPSetCookie(<Наименование cookie (STRING)>,<Значение cookie (STRING)>)
Аргументы
<Наименование cookie (STRING)>- ANSI строка с наименованием переменной cookie. Наименования записываются с учетом регистра.AAAAAиaaaaaэто два разных наименования, задающие разные переменные.<Значение cookie (STRING)>- ANSI строка со значением переменной. Если аргумент отсутствует, переменная будет удалена.
Примеры
...
Сессия:=ГенерацияНомераСессии();
TCP.HTTPClear(3);
TCP.HTTPSetOperation("HTTP/1.0 200 OK");
TCP.HTTPSetHeaderField("Date",FormatDate(аДата,"N, DD M YYYY hh:tt:ss ""GMT""","en"));
TCP.HTTPSetHeaderField("Server","SF http server");
TCP.HTTPSetHeaderField("Last-Modified",FormatDate(аДата,"N, DD M YYYY hh:tt:ss ""GMT""","en"));
TCP.HTTPSetHeaderField("Cache-Control","no-store");
TCP.HTTPSetHeaderField("Connection","close");
TCP.HTTPSetCookie("session",Сессия);
TCP.HTTPSend();