сижу в обнимку с фаербагом и с hhtp live headers..
вчера начал пробовать через запросы делать
import urllib2, cookielib, re, urllib
from httplib2 import Http
import ClientForm
class SiteParser:
def __init__(self, username, password):
self.username = username
self.password = password
self.url = 'https://tender.me.gov.ua'
self.cookiejar = cookielib.LWPCookieJar()
self.cookiejar = urllib2.HTTPCookieProcessor(self.cookiejar)
opener = urllib2.build_opener(self.cookiejar)
urllib2.install_opener(opener)
def login(self):
response = urllib2.urlopen(self.url)
forms = ClientForm.ParseResponse(response, backwards_compat=False)
form = forms[0]
form['login:login'] = self.username
form['login:password'] = self.password
self.page = urllib2.urlopen(form.click('login:j_id_id254'))
self.coockie = str(self.cookiejar.cookiejar).split()[1] + '\r\n'
def navigate(self):
url = 'https://tender.me.gov.ua/EDZFrontOffice/'
headers = {
## 'Content-type': 'application/x-www-form-urlencoded',
## 'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)',
'Cookie': self.coockie,
}
body= ''
http = Http()
response, content = http.request(url, 'POST', headers=headers, body=body)
print response
file('D:/tst1.htm', 'w').write(content)
sp = SiteParser('login@lo.lo', 'pwd') ## - рабочие лог и пароль)если кто захочет попробовать)
sp.login()
sp.navigate()
суть в том.. что, выполняя login() - я заполняю форму логина и в ответ получаю куки..
в функции navigate() , пока я использую полученный куки в хедере - я получаю в ответ залогиненную урл..
но чтобы я ни писал в хедерах и в боди еще - все тоже самое..получаю залогиненую урл..видимо, из-за кривизны рук, я не правильно посылаю запрос..
вчера знакомый помогал и написал на php - у него с горем пополам работает.. правда, он логинится вручную, вставляет куки полученное + сегодня пришлось обновить хедеры. вчерашние уже не работали