Найти - Пользователи
Полная версия: автологин
Начало » Web » автологин
1 2
zili
import urllib, urllib2

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor)
urllib2.install_opener(opener)
login = 'zili'
passwd = '123'
login_url = 'http://999.md/Login/'
target_url = 'http://999.md/Profile/Replenish/'
data = {'login': login, 'pass': passwd}
encoded_data = urllib.urlencode(data)

f = opener.open(login_url, encoded_data)
f.close()

f = opener.open(target_url)

print f
этот код дает текст <addinfourl at 13057960 whose fp = <socket._fileobject object at 0x00C76C30>>
а нужно чтоб код страницы…где я ошибся ?
PooH
print f.read()
;)
zili
Спасибо )

<REQUEST>
<HEADERS>
<HEADER name="(Method-Line)" value="POST /Login/ HTTP/1.1"/>
<HEADER name="Accept" value="image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*"/>
<HEADER name="Referer" value="http://999.md/Login/"/>
<HEADER name="Accept-Language" value="ru"/>
<HEADER name="User-Agent" value="Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; MRA 5.6 (build 03402); InfoPath.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"/>
<HEADER name="Content-Type" value="application/x-www-form-urlencoded"/>
<HEADER name="Accept-Encoding" value="gzip, deflate"/>
<HEADER name="Host" value="999.md"/>
<HEADER name="Content-Length" value="2026"/>
<HEADER name="Connection" value="Keep-Alive"/>
<HEADER name="Cache-Control" value="no-cache"/>
<HEADER name="Cookie" value="LANGUAGE=ru-RU; ASP.NET_SessionId=fnev4sdyuvmwzd4kak2asa4a; REGION=0; __utma=117578817.942382764.1274226329.1274226329.1274226329.1; __utmb=117578817; __utmc=117578817; __utmz=117578817.1274226329.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"/>
</HEADERS>
<POSTDATA mimetype="application/x-www-form-urlencoded">
<RAW>
<![CDATA[__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMTU1NDAxODgzOA9kFgJmD2QWAgIBD2QWDmYPFQE%2BPHNjcmlwdCBzcmM9Imh0dHA6Ly9wcm9tby5tZC9Ub29sYmFyL0RlZi5hc3B4P0lEPTk5Ij48L3NjcmlwdD5kAgIPZBYCZg8VAT48c2NyaXB0IHNyYz0iaHR0cDovL3Byb21vLm1kL1Nob3dzL0QxLmFzcHg%2FUklEPTEwOTQiPjwvc2NyaXB0PmQCAw9kFhJmDxYCHgdWaXNpYmxlaBYIZg8VAQYmbmJzcDtkAgEPFQEHL0Jhc2tldGQCBQ9kFgJmDxUBEi9pbWFnZXMvaWNvL3JvLmdpZmQCBg8PFgIeBFRleHQFCtCS0YvRhdC%2B0LRkZAIBD2QWAmYPDxYCHg9Db21tYW5kQXJndW1lbnQFBUZhbHNlZBYCZg8VARIvaW1hZ2VzL2ljby9yby5naWZkAgIPFQEOL1NldHRpbmdzLmFzcHhkAgMPFgIfAQUO0JzQvtC70LTQvtCy0LBkAgQPFgIfAQUn0YHQtdCz0L7QtNC90Y8gMjMzINC%2B0LHRitGP0LLQu9C10L3QuNGPZAIFDxUBAGQCBg8VAQBkAgcPFQEAZAIJD2QWAmYPFQKZAm9ubW91c2Vkb3duPSJ0aGlzLnN0eWxlLnBvc2l0aW9uPSdyZWxhdGl2ZSc7dGhpcy5zdHlsZS50b3A9JzFweCc7IiBvbm1vdXNldXA9InRoaXMuc3R5bGUucG9zaXRpb249J3N0YXRpYyc7IiBvbm1vdXNlb3V0PSJ0aGlzLnNyYz0nL2ltYWdlcy9idG4vZmluZF8ucG5nJzt0aGlzLnN0eWxlLnBvc2l0aW9uPSdzdGF0aWMnO1BuZ0ZpeCgnL2ltYWdlcy9fLmdpZicpOyIgb25tb3VzZW92ZXI9InRoaXMuc3JjPScvaW1hZ2VzL2J0bi9maW5kXzEucG5nJztQbmdGaXgoJy9pbWFnZXMvXy5naWYnKTsiFS9pbWFnZXMvYnRuL2ZpbmRfLnBuZ2QCBA8VARcgc3R5bGU9ImRpc3BsYXk6IG5vbmU7ImQCBQ8VAQYmbmJzcDtkAgkPZBYOAgEPD2QWBB4Hb25mb2N1cwU6TWFya2V0X1Nob3dEaXZUZXh0KCdjdGwwMF9NYWluM19kaXYxJywnY3RsMDBfTWFpbjNfdGlwcycpOx4Ib25jaGFuZ2UFK01hcmtldF9TdWJtaXQoJ2N0bDAwX01haW4zX0J1dHRvbjEnLGV2ZW50KTtkAgIPDxYCHwEFQ9Cd0LUg0L%2FRgNCw0LLQuNC70YzQvdC%2BINCy0LLQtdC00LXQvSDQu9C%2B0LPQuNC9INC40LvQuCDQv9Cw0YDQvtC70YxkZAIDDw9kFgQfAwU6TWFya2V0X1Nob3dEaXZUZXh0KCdjdGwwMF9NYWluM19kaXYxJywnY3RsMDBfTWFpbjNfdGlwcycpOx8EBStNYXJrZXRfU3VibWl0KCdjdGwwMF9NYWluM19CdXR0b24xJyxldmVudCk7ZAIFDxUBH9CX0LDQv9C%2B0LzQvdC40YLRjCDQv9Cw0YDQvtC70YxkAgYPDxYCHgtOYXZpZ2F0ZVVybAUTL0xvZ2luL1Jlc3RvcmUuYXNweGRkAgcPDxYCHwEFCtCS0L7QudGC0LhkZAIIDw8WAh8BZWRkAgsPFQEHL0Jhc2tldGQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFFWN0bDAwJE1haW4zJENoZWNrQm94MT5JFFmPE782ZTqHwQkFx4xelaGXQAwDWHOAWup%2FZ%2FAW&ctl00%24th%24tbSearch=&ctl00%24Main3%24TextBox1=qzer&ctl00%24Main3%24TextBox2=290590&ctl00%24Main3%24Button1=%D0%92%D0%BE%D0%B9%D1%82%D0%B8]]>
</RAW>
<PARAMETER name="__EVENTTARGET" value=""/>
<PARAMETER name="__EVENTARGUMENT" value=""/>
<PARAMETER name="__VIEWSTATE" value="%2FwEPDwUKMTU1NDAxODgzOA9kFgJmD2QWAgIBD2QWDmYPFQE%2BPHNjcmlwdCBzcmM9Imh0dHA6Ly9wcm9tby5tZC9Ub29sYmFyL0RlZi5hc3B4P0lEPTk5Ij48L3NjcmlwdD5kAgIPZBYCZg8VAT48c2NyaXB0IHNyYz0iaHR0cDovL3Byb21vLm1kL1Nob3dzL0QxLmFzcHg%2FUklEPTEwOTQiPjwvc2NyaXB0PmQCAw9kFhJmDxYCHgdWaXNpYmxlaBYIZg8VAQYmbmJzcDtkAgEPFQEHL0Jhc2tldGQCBQ9kFgJmDxUBEi9pbWFnZXMvaWNvL3JvLmdpZmQCBg8PFgIeBFRleHQFCtCS0YvRhdC%2B0LRkZAIBD2QWAmYPDxYCHg9Db21tYW5kQXJndW1lbnQFBUZhbHNlZBYCZg8VARIvaW1hZ2VzL2ljby9yby5naWZkAgIPFQEOL1NldHRpbmdzLmFzcHhkAgMPFgIfAQUO0JzQvtC70LTQvtCy0LBkAgQPFgIfAQUn0YHQtdCz0L7QtNC90Y8gMjMzINC%2B0LHRitGP0LLQu9C10L3QuNGPZAIFDxUBAGQCBg8VAQBkAgcPFQEAZAIJD2QWAmYPFQKZAm9ubW91c2Vkb3duPSJ0aGlzLnN0eWxlLnBvc2l0aW9uPSdyZWxhdGl2ZSc7dGhpcy5zdHlsZS50b3A9JzFweCc7IiBvbm1vdXNldXA9InRoaXMuc3R5bGUucG9zaXRpb249J3N0YXRpYyc7IiBvbm1vdXNlb3V0PSJ0aGlzLnNyYz0nL2ltYWdlcy9idG4vZmluZF8ucG5nJzt0aGlzLnN0eWxlLnBvc2l0aW9uPSdzdGF0aWMnO1BuZ0ZpeCgnL2ltYWdlcy9fLmdpZicpOyIgb25tb3VzZW92ZXI9InRoaXMuc3JjPScvaW1hZ2VzL2J0bi9maW5kXzEucG5nJztQbmdGaXgoJy9pbWFnZXMvXy5naWYnKTsiFS9pbWFnZXMvYnRuL2ZpbmRfLnBuZ2QCBA8VARcgc3R5bGU9ImRpc3BsYXk6IG5vbmU7ImQCBQ8VAQYmbmJzcDtkAgkPZBYOAgEPD2QWBB4Hb25mb2N1cwU6TWFya2V0X1Nob3dEaXZUZXh0KCdjdGwwMF9NYWluM19kaXYxJywnY3RsMDBfTWFpbjNfdGlwcycpOx4Ib25jaGFuZ2UFK01hcmtldF9TdWJtaXQoJ2N0bDAwX01haW4zX0J1dHRvbjEnLGV2ZW50KTtkAgIPDxYCHwEFQ9Cd0LUg0L%2FRgNCw0LLQuNC70YzQvdC%2BINCy0LLQtdC00LXQvSDQu9C%2B0LPQuNC9INC40LvQuCDQv9Cw0YDQvtC70YxkZAIDDw9kFgQfAwU6TWFya2V0X1Nob3dEaXZUZXh0KCdjdGwwMF9NYWluM19kaXYxJywnY3RsMDBfTWFpbjNfdGlwcycpOx8EBStNYXJrZXRfU3VibWl0KCdjdGwwMF9NYWluM19CdXR0b24xJyxldmVudCk7ZAIFDxUBH9CX0LDQv9C%2B0LzQvdC40YLRjCDQv9Cw0YDQvtC70YxkAgYPDxYCHgtOYXZpZ2F0ZVVybAUTL0xvZ2luL1Jlc3RvcmUuYXNweGRkAgcPDxYCHwEFCtCS0L7QudGC0LhkZAIIDw8WAh8BZWRkAgsPFQEHL0Jhc2tldGQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFFWN0bDAwJE1haW4zJENoZWNrQm94MT5JFFmPE782ZTqHwQkFx4xelaGXQAwDWHOAWup%2FZ%2FAW"/>
<PARAMETER name="ctl00%24th%24tbSearch" value=""/>
<PARAMETER name="ctl00%24Main3%24TextBox1" value="qzer"/>
<PARAMETER name="ctl00%24Main3%24TextBox2" value="123"/>
<PARAMETER name="ctl00%24Main3%24Button1" value="%D0%92%D0%BE%D0%B9%D1%82%D0%B8"/>
</POSTDATA>
</REQUEST>
это лог Пост запроса на сайт…скажите пожалуста, правельно ли я сформировал строку запроса ? а то почему то не логинится
zili
немного подумав пришел к такому
data = {'__EVENTTARGET': '', '__EVENTARGUMENT': '', '__VIEWSTATE':__VIEWSTATE, 'ctl00%24th%24tbSearch':'', 'ctl00%24Main3%24TextBox1':'qzer', 'ctl00%24Main3%24TextBox2':'290590', 'ctl00%24Main3%24Button1':'%D0%92%D0%BE%D0%B9%D1%82%D0%B8' }
но питон пишет множестро ошибок типа
Traceback (most recent call last):
File "C:\Documents and Settings\ziliboba\workspace\test\src\main.py", line 17, in <module>
f = opener.open(login_url, encoded_data)
File "C:\Python26\lib\urllib2.py", line 397, in open
response = meth(req, response)
File "C:\Python26\lib\urllib2.py", line 510, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python26\lib\urllib2.py", line 435, in error
return self._call_chain(*args)
File "C:\Python26\lib\urllib2.py", line 369, in _call_chain
result = func(*args)
File "C:\Python26\lib\urllib2.py", line 518, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 500: Internal Server Error
zili
нашел…это из за неправельного параметра VIEWSTATE
исправил…но всеравно редиректит на страницу логина…помогите…в чем проблема ?
zili
сайт написан на ASP.NET…в этом вся проблема ?
PooH
Так у вас логин/пароль неверные - login = ‘zili’ passwd = ‘123’ - сейчас попробовал из браузера - не пускает.
zili
данные были подставные…вот валидные
login : pythontest
passwd: qwerty
zili
вот код который должен по идее работать, там выставлен вальдный лоигн и пароль…но почему то все никак не заработает этот кусок текста…помогите пожалуста )
import urllib, urllib2

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor)
urllib2.install_opener(opener)
login = 'pythontest'
passwd = 'qwerty'
__EVENTTARGET = ''
__EVENTARGUMENT = ''
#__VIEWSTATE = '%2FwEPDwUKMTU1NDAxODgzOA9kFgJmD2QWAgIBD2QWDmYPFQE%2BPHNjcmlwdCBzcmM9Imh0dHA6Ly9wcm9tby5tZC9Ub29sYmFyL0RlZi5hc3B4P0lEPTk5Ij48L3NjcmlwdD5kAgIPZBYCZg8VAT48c2NyaXB0IHNyYz0iaHR0cDovL3Byb21vLm1kL1Nob3dzL0QxLmFzcHg%2FUklEPTEwOTQiPjwvc2NyaXB0PmQCAw9kFhJmDxYCHgdWaXNpYmxlaBYIZg8VAQYmbmJzcDtkAgEPFQEHL0Jhc2tldGQCBQ9kFgJmDxUBEi9pbWFnZXMvaWNvL3JvLmdpZmQCBg8PFgIeBFRleHQFCtCS0YvRhdC%2B0LRkZAIBD2QWAmYPDxYCHg9Db21tYW5kQXJndW1lbnQFBUZhbHNlZBYCZg8VARIvaW1hZ2VzL2ljby9yby5naWZkAgIPFQEOL1NldHRpbmdzLmFzcHhkAgMPFgIfAQUO0JzQvtC70LTQvtCy0LBkAgQPFgIfAQUn0YHQtdCz0L7QtNC90Y8gMjMzINC%2B0LHRitGP0LLQu9C10L3QuNGPZAIFDxUBAGQCBg8VAQBkAgcPFQEAZAIJD2QWAmYPFQKZAm9ubW91c2Vkb3duPSJ0aGlzLnN0eWxlLnBvc2l0aW9uPSdyZWxhdGl2ZSc7dGhpcy5zdHlsZS50b3A9JzFweCc7IiBvbm1vdXNldXA9InRoaXMuc3R5bGUucG9zaXRpb249J3N0YXRpYyc7IiBvbm1vdXNlb3V0PSJ0aGlzLnNyYz0nL2ltYWdlcy9idG4vZmluZF8ucG5nJzt0aGlzLnN0eWxlLnBvc2l0aW9uPSdzdGF0aWMnO1BuZ0ZpeCgnL2ltYWdlcy9fLmdpZicpOyIgb25tb3VzZW92ZXI9InRoaXMuc3JjPScvaW1hZ2VzL2J0bi9maW5kXzEucG5nJztQbmdGaXgoJy9pbWFnZXMvXy5naWYnKTsiFS9pbWFnZXMvYnRuL2ZpbmRfLnBuZ2QCBA8VARcgc3R5bGU9ImRpc3BsYXk6IG5vbmU7ImQCBQ8VAQYmbmJzcDtkAgkPZBYOAgEPD2QWBB4Hb25mb2N1cwU6TWFya2V0X1Nob3dEaXZUZXh0KCdjdGwwMF9NYWluM19kaXYxJywnY3RsMDBfTWFpbjNfdGlwcycpOx4Ib25jaGFuZ2UFK01hcmtldF9TdWJtaXQoJ2N0bDAwX01haW4zX0J1dHRvbjEnLGV2ZW50KTtkAgIPDxYCHwEFQ9Cd0LUg0L%2FRgNCw0LLQuNC70YzQvdC%2BINCy0LLQtdC00LXQvSDQu9C%2B0LPQuNC9INC40LvQuCDQv9Cw0YDQvtC70YxkZAIDDw9kFgQfAwU6TWFya2V0X1Nob3dEaXZUZXh0KCdjdGwwMF9NYWluM19kaXYxJywnY3RsMDBfTWFpbjNfdGlwcycpOx8EBStNYXJrZXRfU3VibWl0KCdjdGwwMF9NYWluM19CdXR0b24xJyxldmVudCk7ZAIFDxUBH9CX0LDQv9C%2B0LzQvdC40YLRjCDQv9Cw0YDQvtC70YxkAgYPDxYCHgtOYXZpZ2F0ZVVybAUTL0xvZ2luL1Jlc3RvcmUuYXNweGRkAgcPDxYCHwEFCtCS0L7QudGC0LhkZAIIDw8WAh8BZWRkAgsPFQEHL0Jhc2tldGQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFFWN0bDAwJE1haW4zJENoZWNrQm94MT5JFFmPE782ZTqHwQkFx4xelaGXQAwDWHOAWup%2FZ%2FAW'
__VIEWSTATE = '/wEPDwUKMTU1NDAxODgzOA9kFgJmD2QWAgIBD2QWDmYPFQE+PHNjcmlwdCBzcmM9Imh0dHA6Ly9wcm9tby5tZC9Ub29sYmFyL0RlZi5hc3B4P0lEPTk5Ij48L3NjcmlwdD5kAgIPZBYCZg8VAT48c2NyaXB0IHNyYz0iaHR0cDovL3Byb21vLm1kL1Nob3dzL0QxLmFzcHg/UklEPTEwOTQiPjwvc2NyaXB0PmQCAw9kFhJmDxYCHgdWaXNpYmxlaBYIZg8VAQYmbmJzcDtkAgEPFQEHL0Jhc2tldGQCBQ9kFgJmDxUBEi9pbWFnZXMvaWNvL3JvLmdpZmQCBg8PFgIeBFRleHQFCtCS0YvRhdC+0LRkZAIBD2QWAmYPDxYCHg9Db21tYW5kQXJndW1lbnQFBUZhbHNlZBYCZg8VARIvaW1hZ2VzL2ljby9yby5naWZkAgIPFQEOL1NldHRpbmdzLmFzcHhkAgMPFgIfAQUO0JzQvtC70LTQvtCy0LBkAgQPFgIfAQUu0YHQtdCz0L7QtNC90Y8gMyZuYnNwOzE5OCDQvtCx0YrRj9Cy0LvQtdC90LjQuWQCBQ8VAQBkAgYPFQEAZAIHDxUBAGQCCQ9kFgJmDxUCmQJvbm1vdXNlZG93bj0idGhpcy5zdHlsZS5wb3NpdGlvbj0ncmVsYXRpdmUnO3RoaXMuc3R5bGUudG9wPScxcHgnOyIgb25tb3VzZXVwPSJ0aGlzLnN0eWxlLnBvc2l0aW9uPSdzdGF0aWMnOyIgb25tb3VzZW91dD0idGhpcy5zcmM9Jy9pbWFnZXMvYnRuL2ZpbmRfLnBuZyc7dGhpcy5zdHlsZS5wb3NpdGlvbj0nc3RhdGljJztQbmdGaXgoJy9pbWFnZXMvXy5naWYnKTsiIG9ubW91c2VvdmVyPSJ0aGlzLnNyYz0nL2ltYWdlcy9idG4vZmluZF8xLnBuZyc7UG5nRml4KCcvaW1hZ2VzL18uZ2lmJyk7IhUvaW1hZ2VzL2J0bi9maW5kXy5wbmdkAgQPFQEXIHN0eWxlPSJkaXNwbGF5OiBub25lOyJkAgUPFQEGJm5ic3A7ZAIJD2QWDgIBDw9kFgQeB29uZm9jdXMFOk1hcmtldF9TaG93RGl2VGV4dCgnY3RsMDBfTWFpbjNfZGl2MScsJ2N0bDAwX01haW4zX3RpcHMnKTseCG9uY2hhbmdlBStNYXJrZXRfU3VibWl0KCdjdGwwMF9NYWluM19CdXR0b24xJyxldmVudCk7ZAICDw8WAh8BBUPQndC1INC/0YDQsNCy0LjQu9GM0L3QviDQstCy0LXQtNC10L0g0LvQvtCz0LjQvSDQuNC70Lgg0L/QsNGA0L7Qu9GMZGQCAw8PZBYEHwMFOk1hcmtldF9TaG93RGl2VGV4dCgnY3RsMDBfTWFpbjNfZGl2MScsJ2N0bDAwX01haW4zX3RpcHMnKTsfBAUrTWFya2V0X1N1Ym1pdCgnY3RsMDBfTWFpbjNfQnV0dG9uMScsZXZlbnQpO2QCBQ8VAR/Ql9Cw0L/QvtC80L3QuNGC0Ywg0L/QsNGA0L7Qu9GMZAIGDw8WAh4LTmF2aWdhdGVVcmwFEy9Mb2dpbi9SZXN0b3JlLmFzcHhkZAIHDw8WAh8BBQrQktC+0LnRgtC4ZGQCCA8PFgIfAWVkZAILDxUBBy9CYXNrZXRkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBRVjdGwwMCRNYWluMyRDaGVja0JveDHylJeKUQwYFUY0STWbJpykFBsg1l2cjUoGgHIC7Z+kfQ=='
searc = ''
login_url = 'http://999.md/Login/'
target_url = 'http://999.md/Profile/Replenish/'
data = {'__EVENTTARGET': '', '__EVENTARGUMENT': '', '__VIEWSTATE':__VIEWSTATE, 'ctl00%24th%24tbSearch':'', 'ctl00%24Main3%24TextBox1':login, 'ctl00%24Main3%24TextBox2':passwd, 'ctl00%24Main3%24Button1':'%D0%92%D0%BE%D0%B9%D1%82%D0%B8' }
#data = {'login': login, 'pass': passwd}
encoded_data = urllib.urlencode(data)

f = opener.open(login_url, encoded_data)
f.close()

f = opener.open(target_url)

print f.read()
idkfa
Содержимое VIEWSTATE меняется между загрузками страницы, в идеале нужно загрузить http://999.md/Login, извлечь значение VIEWSTATE, и отправить POST-запрос туда же с этим VIEWSTATE.
Кроме того имена элементов должны выглядеть как ctl00_th_tbSearch.
И, возможно, нужно сохранять между запросами сессионную куку ASP.NET_SessionId.

btw если вас интересует результат а не проблема, есть http://twill.idyll.org/
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB