Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 9, 2009 10:03:35

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

django cookie

#!/usr/bin/python
# -*- coding:utf-8 -*-

import urllib
import urllib2
import cookielib

jar=cookielib.CookieJar()

opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))
params=urllib.urlencode({"username":"s", "password":"s", "this_is_the_login_form":"1"})

resp=opener.open('http://django-domain.com/admin/',params)

print resp.read()
Этот скрипт коннектится к джанго ресурсу, логинится и (этот кусок упушен) выполняет действия.

Джанга мне говорит что куки у меня отключены.
Подскажите где я облажался?



Офлайн

#2 Авг. 9, 2009 12:23:31

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

django cookie

pochechyev
Подскажите где я облажался?
Надо перед отправкой формы сделать GET запрос туда же.



Офлайн

#3 Авг. 9, 2009 15:04:29

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

django cookie

заработало!


а чем первый запрос помог? желательно обьяснить схемы работы.



Отредактировано (Авг. 9, 2009 15:06:10)

Офлайн

#4 Авг. 9, 2009 21:13:25

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

django cookie

pochechyev
а чем первый запрос помог? желательно обьяснить схемы работы.
А как можно проверить, поддерживает ли клиент куки? Правильно, надо куку поставить, а потом при следующем запросе проверить, что она пришла от клиента. Вот собственно и всё.

При первом запросе кука ставиться, при втором проверяется что она есть и происходит авторизация. Если сразу постить данные, то при проверке куки её конечно же нет.



Офлайн

#5 Авг. 11, 2009 09:49:52

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

django cookie

спасиб.

я собственно догадывался, но хотел подтверждения )



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version