• EN
    RU

browser/set_cookie_for_url

set_cookie_for_url(url, name, cookie, expires="", domain="", path="", httpOnly=false, secure=false, session=false, sameSite="", priority=""); - задать (добавить) куки для заданного сайта.
Функция на вход принимает параметры:
  • url – адрес сайта.
  • name – имя кука или "" , если следующий параметр - несколько куков.
  • cookie – строка с куком или куками.
  • expires – максимальное время жизни cookie в формате метки даты-времени HTTP. Если не определён, cookie будет иметь время жизни сессионного cookie. Сессия окончена, когда клиент отключается, что приводит к удалению сессионных cookie в этот момент. Однако, многие браузеры имеют возможность, называемую восстановление сессии, которая сохраняет все ваши вкладки и затем возвращает их, когда вы в следующий раз запускаете браузер. Cookies будут также присутствовать, словно вы никогда не закрывали браузер. Когда устанавливается срок действия, время и дата устанавливаются не относительно сервера, а относительно клиента, на котором установлено cookie.
  • domain – хост, на который будут отправляться cookie. По умолчанию - хост текущего URL документа, не включая поддомены. В текущей спецификация начальная точка в имени хоста игнорируется (.example.com). Cookie будут отправляться также на поддомены указанного хоста. Указывать несколько хостов недопустимо.
  • path – путь, который должен существовать в запрошенном URL, иначе браузер не отправит заголовок Cookie.
    Пример: / - cookie будет отправляться со всеми запросами
    Пример: /docs/ - cookie будет отправляться с запросами к директории docs и её поддиректориям.
  • httpOnly – запрещает JavaScript доступ к cookie.
  • secure – cookie будет отправлен на сервер только с запросами c использованием SSL и протокола HTTPS. Cookie не будет дополнительно шифроваться, поэтому в нем не стоит хранить конфиденциальную информацию.
  • session – сессионные cookie(true), постоянные cookie(false).
  • sameSite – может принимать один из трех вариантов значения:
    • Strict: браузер отправляет cookie только для запросов к тому же сайту (то есть запросов, исходящих с того же сайта, который установил cookie). Если запрос исходит от URL-адреса, отличного от текущего, файлы cookie с атрибутом SameSite = Strict не отправляются.
    • Lax: файл cookie удерживается в межсайтовых подзапросах, таких как вызовы для загрузки изображений или фреймов, но отправляется, когда пользователь переходит по URL-адресу с внешнего сайта, например, переходя по ссылке.
    • None: браузер отправляет cookie как с межсайтовыми, так и с межсайтовыми запросами.

    Современные браузеры используют SameSite=Lax. Если необходима работа SameSite=None cookie должна быть установлена с атрибутом Secure.
  • priority – приоритет, может принимать один из трех вариантов значений:
    • -1 – низкий приоритет
    • 0 – средний приоритет
    • 1 – высокий приоритет


После отработки функция возвращает результат своей работы в робот:
  • true – успешно выполнили
  • false – выполнить не удалось




Пример использования set_cookie_for_url (Python):

# Additional paths
import sys
sys.path.insert(0, '../../../Templates PY/')
 
xhe_host = "127.0.0.1:7013"
from xweb_human_emulator import *
 
# начало
echo("<hr><font color=blue>browser.xxxxxxxxx</font><hr>")
 
# 1 
echo("1. Перейдем на гугл : ")
echo(browser.navigate("http://www.google.com/",""),"<br><br>")
 
# 2 
echo("2. Получим текущие куки гугла :")
echo(browser.get_cookie_for_url("http://www.google.com/",""),"<br><br>")
 
# 3 
echo("3. Очистим текущие куки гугла. ")
browser.clear_cookies("google.com",true,true)
 
# 4 
echo("<br><br>4. Получим текущие куки гугла - пустые : ")
echo(browser.get_cookie_for_url("http://www.google.com/",""),"<br><br>")
 
# 5  
echo("5. Зададим (Добавим) куки к гуглу : ")
cookie ="__utma=123272373.426502259.12244752769.12244752769.12424752775.2:__utmb=173272373.4.10.1244752775) __utmz=173272373.1244752783.2.3.utmccn=(organic)|utmcsr=google|utmctr=adsense.google.com|utmcmd=organic) __utmc=173272373) __utmv=173272373.ExistingPublisher) PREF=ID=1ab1131528cb1f1a:TM=1244752750:LM=1244752750:S=z8a6mTRmDHVImKOg) TZ=-180) GMAIL_RTT=62) SID=DQAAAG4AAACVKgLK1udE8zJUkHfj7lB1exGg0rTbtWPXOIWORMueVZoT77XyJNTUltfGPonIuKt7PTVUs5qF-UvkhHR5cXcsIynN04AL3f7YMObLoOP5wkyGK9n7zHlw89Px0s8foYkobyH8Z9wzAZ2-FpZ7s9I3"
echo(browser.set_cookie_for_url("http://www.google.com/","",cookie),"<br><br>")
 
# 6 
echo("6. Получим текущие куки гугла : ")
echo(browser.get_cookie_for_url("http://www.google.com/",""),"<br><br>")
echo(browser.get_cookie(),"<br><br>")
 
# конец
echo("<hr><br>")
 
# Quit
app.quit()