Может быть, с помощью cookielib. CookieJar может помочь вам.Например, при публикации на странице, содержащей форму:
import urllib2
import urllib
from cookielib import CookieJar
cj = CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
# input-type values from the html form
formdata = { "username" : username, "password": password, "form-id" : "1234" }
data_encoded = urllib.urlencode(formdata)
response = opener.open("https://page.com/login.php", data_encoded)
content = response.read()
РЕДАКТИРОВАТЬ:
После комментария Петра я немного уточню.Из документов:
Класс CookieJar хранит файлы cookie HTTP.Он извлекает куки из HTTP-запросов и возвращает их в HTTP-ответах.При необходимости экземпляры CookieJar автоматически удаляют содержащиеся в нем cookie.Подклассы также отвечают за хранение и извлечение файлов cookie из файла или базы данных.
Таким образом, независимо от того, какие запросы вы делаете с вашим экземпляром CookieJar
, все файлы cookie будут обрабатываться автоматически.Вроде как ваш браузер:)
Я могу говорить только из собственного опыта, и мой 99% сценарий использования файлов cookie - это получение файла cookie, а затем его необходимо отправить со всеми последующими запросами в этом сеансе.Приведенный выше код обрабатывает только это, и делает это прозрачно.