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"}}'