2016-04-14 21 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') 

このコードWebページを実行すると、ページにログインできません。Pythonを使用してwesiteにログインする際の問題

+1

私はウェブサイトを見て、フォームはユーザーIDとパスワードよりも多くのパラメータを送信します。それらは '__EVENTTARGET'、' __EVENTARGUMENT'、 '__VIEWSTATE'、' __EVENTVALIDATION'、 'hddScrnResln'、' hddBkgImage、 'txtUserID'、' txtPassword'、 'ddlDomain'、' btnSubmit.x'、 'btnSubmit.y'を送信します。 –

+0

ログイン時には2つの引数のログインIDとパスワードが必要です – Basavaraj

答えて

1

あなたがやっていることは、クッキーを作成してページをリフレッシュすることです。ページにはいくつかのフィールドが表示されますが、作成するCookieには他の隠しデータが必要な場合があります。これを行う最善の方法は、おそらくselenium(Firefoxはかなり普及している)またはPhantomJSのようなヘッドレスのものと一緒になるでしょう。

また、ログインでは従来の送信タグとは対照的なjavascriptが使用されています。 Seleniumは、ユーザーと同じように直接要素と対話できます。

+0

他の隠しデータは推測できますか? – Basavaraj

+0

ログインして保存したものを見ると、ブラウザのクッキーを追跡するだけです –

関連する問題