2016-04-14 8 views
0
import urllib, urllib2, cookielib, webbrowser 

username = 'Firstname.lastname' 
password = 'Password' 
url = 'https://www.myhcl.com/Login/home.aspx' 
webbrowser.open(url, new=1, autoraise=1) 
cj = cookielib.CookieJar() 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 
login_data = urllib.urlencode({'txtUserID' : username, 'txtPassword' :  
password}) 
opener.open('https://www.myhcl.com/Login/home.aspx', login_data) 
resp = opener.open('https://www.myhcl.com/Login/home.aspx') 
print resp 
webbrowser.open(url, new=1, autoraise=1) 
#webbrowser.open_new('https://www.myhcl.com/Login/home.aspx') 

Durch Ausführen dieses Codes Webseite öffnet sich, aber nicht auf der Seite einloggen.Problem mit der Anmeldung in einer Webseite mit Python

+1

Ich schaue auf die Website und das Formular senden mehr param als Benutzer-ID und Passwort. Sie senden "__EVENTTARGET", "__EVENTARGUMENT", "__VIEWSTATE", "__EVENTVALIDATION", "hddScrnResln", "hddBkgImage", "txtUserID", "txtPassword", "ddlDomain", "btnSubmit.x" und "btnSubmit.y" –

+0

aber es dauert nur zwei Argumente Login-ID und Passwort beim Login – Basavaraj

Antwort

1

Sie erstellen einen Cookie und aktualisieren die Seite. Obwohl die Seite nur wenige Felder enthält, benötigt das erstellte Cookie möglicherweise andere versteckte Daten. Der beste Weg, dies zu tun wäre wahrscheinlich mit selenium in Verbindung mit jedem Browser (Firefox ist ziemlich beliebt) oder einem kopflosen wie PhantomJS.

Ich sehe auch, dass die Anmeldung Javascript im Gegensatz zu den konventionellen Submit-Tag verwendet. Selen kann direkt mit Elementen interagieren, so wie es ein Benutzer tun würde.

+0

Ist es möglich, andere versteckte Daten zu erraten? – Basavaraj

+0

Verfolgen Sie einfach die Cookies in Ihrem Browser, wenn Sie sich einloggen und sehen, was gespeichert wird –

Verwandte Themen