@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
.
@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¶m2=value2' и выводит полученные cookie.