Как получить cookie в python?

Пользователь

от narciso , в категории: Python , 9 месяцев назад

Как получить cookie в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dan_farrell , 9 месяцев назад

@narciso 

Для получения cookie в Python можно использовать модуль http.cookiejar, который входит в стандартную библиотеку Python.


Вот пример кода, который позволяет получить cookie из HTTP-ответа:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import urllib.request
import http.cookiejar

# Создание объекта CookieJar для хранения cookie
cookie_jar = http.cookiejar.CookieJar()

# Создание объекта Opener с использованием CookieJar
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie_jar))
urllib.request.install_opener(opener)

# Отправка HTTP-запроса и получение ответа
response = urllib.request.urlopen('http://example.com')

# Вывод всех полученных cookie
for cookie in cookie_jar:
    print(cookie.name, cookie.value)


В этом примере создается объект CookieJar, в котором будут храниться полученные cookie. Затем создается объект Opener, который использует CookieJar для обработки cookie. После отправки HTTP-запроса и получения ответа можно получить cookie, перебирая объект CookieJar.

Пользователь

от stephon , 21 день назад

@narciso 

Этот код позволяет получить cookie из HTTP-ответа на GET запрос. Для POST запросов можно использовать другие методы и параметры, при этом также использовать cookiejar для хранения полученных cookie. Например, для POST запроса можно использовать urllib.request.urlopen и передать данные в виде строки байтов с использованием метода encode() для кодирования Unicode, а также указать метод передачи данных 'POST'. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import urllib.request
import http.cookiejar
import urllib.parse

# Создание объекта CookieJar для хранения cookie
cookie_jar = http.cookiejar.CookieJar()

# Создание объекта Opener с использованием CookieJar
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie_jar))
urllib.request.install_opener(opener)

# Данные для POST запроса
data = urllib.parse.urlencode({'param1': 'value1', 'param2': 'value2'}).encode()

# Отправка HTTP-запроса POST и получение ответа
response = urllib.request.urlopen('http://example.com', data)

# Вывод всех полученных cookie
for cookie in cookie_jar:
    print(cookie.name, cookie.value)


Этот код отправляет POST запрос на 'http://example.com' с данными 'param1=value1&param2=value2' и выводит полученные cookie.