Форум сайта python.su
Суть вопроса - влюбился в питон, решил написать приложение-обработчик таблицы одной бд, чтобы параллельно выучить основы языка. Доступа к бд нет, поэтому логинимся на сайт - получаем таблицу в html - парсим в xml и дальше уже работаем с ним.
Сайт написан перректальным образом, огрехи и ошибки везде, но сейчас не об этом.
Возникла проблема при логине.
Есть три страницы:
первая - страница логина. на ней форма, которая передает методом POST логин и пароль на вторую.
вторая - страница, принимающая логин и пароль, и выдающая меню. Меню содержит ссылки на базу данных с параметрами, передаваемыми методом GET. В том числе передается sessionid (разумно ли открыто передавать sessionid?). Если сразу после логина обновить эту страницу, то оказываешься разлогиненным. То есть фактически логин и старт сессии происходит после перехода на третью страницу.(нормально ли?)
третья страница - собственно таблица бд.
Проблема - после отправки логина-пароля на вторую страницу нужно получить её, чтобы считать ссылку с GET-параметром. Но из гугла я научился делать это тольно одним способом:
req = urllib2.Request('%мой url%', {}, HEADERS)
handle = urllib2.urlopen(req)
print handle.read()
Отредактировано (Авг. 16, 2010 23:41:38)
Офлайн
creitve
При этом, естественно, получаю незалогиненный вариант второй страницы. Вопрос - как одновременно передать POST запрос и сразу же принять веб-страницу, которая придёт следом, как это было бы в браузере.
import urllib, urllib2
data = urllib.urlencode({param1:val1, param2:val2})
request = urllib2.urlopen("%мой url%", data)
print request.read()
Отредактировано (Авг. 17, 2010 00:42:56)
Офлайн
VaderСпасибо, сейчас попробую.creitve
При этом, естественно, получаю незалогиненный вариант второй страницы. Вопрос - как одновременно передать POST запрос и сразу же принять веб-страницу, которая придёт следом, как это было бы в браузере.import urllib, urllib2
data = urllib.urlencode({param1:val1, param2:val2})
request = urllib2.urlopen("%мой url%", data)
print request.read()
Отредактировано (Авг. 17, 2010 09:51:18)
Офлайн