Извлечение и установка cookies с модулем requests в Python
Response.cookies и requests.cookies модуля requests.
Извлечение и установка cookies
.
cookies
.Если ответ сервера содержит какие-то файлы cookie
, то можно быстро получить к ним доступ, например:
>>> import requests
>>> url = 'http://example.com/some/cookie/setting/url'
>>> resp = requests.get(url)
# получение cookie, установленные сервером
>>> resp.cookies['example_cookie_name']
# 'example_cookie_value'
Чтобы отправить свои файлы cookie
на сервер, то можете использовать аргумент cookies
метода requests.get()
. Аргумент cookies
, принимает куки, установленные в виде словаря, например:
>>> import requests
>>> url = 'https://httpbin.org/cookies'
# подготовка собственных cookie
>>> cookies = dict(cookies_are='working')
# отправка подготовленных cookie, путем
# их передачи аргументу cookies=cookies
>>> resp = requests.get(url, cookies=cookies)
>>> resp.text
# '{"cookies": {"cookies_are": "working"}}'
Файлы cookie
возвращаются в объект RequestsCookieJar()
, который действует как словарь dict
, но также предлагает более полный интерфейс, подходящий для использования в нескольких доменах или путях. Cookie jars также могут быть переданы в запросы:
>>> import requests
>>> jar = requests.cookies.RequestsCookieJar()
# установка cookie `tasty_cookie=yum` на путь `httpbin.org/cookies`
>>> jar.set('tasty_cookie', 'yum', domain='httpbin.org', path='/cookies')
# установка cookie `gross_cookie=blech` на путь `httpbin.org/elsewhere`
>>> jar.set('gross_cookie', 'blech', domain='httpbin.org', path='/elsewhere')
>>> url = 'https://httpbin.org/cookies'
# установка cookie через одноименный аргумент cookies=jar
>>> resp = requests.get(url, cookies=jar)
>>> resp.text
# '{"cookies": {"tasty_cookie": "yum"}}'
Last updated