HTTP POST и GET с куки для аутентификации в python
Я пытаюсь создать программу на Python, которая регистрируется на сайте моего университета с использованием моего идентификатора и пароля. Это официальная страница для входа в систему:https://webapp.pucrs.br/consulta/
Как вы можете заметить, эти два поля называются pr1 и pr2. Страница использует POST для отправки данных. ТАКЖЕ, есть cookie, который загружается при загрузке страницы, это JSESSIONID, содержащий случайное значение, которое, как я понял, вы должны вернуть в заголовке метода POST для аутентификации входа в систему.
Я написал следующий код, но на странице возврата метода GET написано «Сеанс не был инициализирован», возможно, из-за того, что файл cookie не был отправлен должным образом.
<code>from urllib2 import Request, build_opener, HTTPCookieProcessor, HTTPHandler import httplib, urllib, cookielib, Cookie, os conn = httplib.HTTPConnection('webapp.pucrs.br') #COOKIE FINDER cj = cookielib.CookieJar() opener = build_opener(HTTPCookieProcessor(cj),HTTPHandler()) req = Request('http://webapp.pucrs.br/consulta/principal.jsp') f = opener.open(req) html = f.read() for cookie in cj: c = cookie #FIM COOKIE FINDER params = urllib.urlencode ({'pr1':111049631, 'pr2':<pass>}) headers = {"Content-type":"text/html", "Set-Cookie" : "JSESSIONID=70E78D6970373C07A81302C7CF800349"} # I couldn't set the value automaticaly here, the cookie object can't be converted to string, so I change this value on every session to the new cookie's value. Any solutions? conn.request ("POST", "/consulta/servlet/consulta.aluno.ValidaAluno",params, headers) # Validation page resp = conn.getresponse() temp = conn.request("GET","/consulta/servlet/consulta.aluno.Publicacoes") # desired content page resp = conn.getresponse() print resp.read() </code>
Куда я помещаю этот куки, чтобы авторизоваться?