2016-07-15 5 views
1

ソースからすべての入力タグフィールド名を使用し、jSoupを使用してすべての方法を試しましたが、log.eに出力htmlページが表示されるたびに同じログインページ。ホームページの代わりにログインページを返すアンドロイドのjsoupを使用してログイン

protected Void doInBackground(Void... params) { 
    try { 

    Connection.Response loginForm = Jsoup.connect("http://adsl.yemen.net.ye/en/login.aspx") 
       // .userAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36") 
       .method(Connection.Method.GET) 
       .execute(); 
     loginForm= Jsoup.connect("http://adsl.yemen.net.ye/en/login.aspx") 
       .data("ctl00$ContentPlaceHolder1$loginframe$UserName", "MASALAHI2010") 
       .data("ctl00$ContentPlaceHolder1$loginframe$Password", "MAMAM") 
       // .data("ctl00$ContentPlaceHolder1$loginframe$RememberMe","true") 
       .data("ctl00$ContentPlaceHolder1$loginframe$LoginButton", "Sign In") 
       .data("__LASTFOCUS", "") 
       .data("__EVENTTARGET", "") 
       .data("__EVENTARGUMENT","") 
       .data("__VIEWSTATE","/wEPDwULLTE4NzkxODYxNTIPZBYCZg9kFgICAw9kFgQCAQ9kFgQCAw8PFgIeB1Zpc2libGVoZGQCBQ8PFgIfAGhkZAIDD2QWCAIBDzwrAAoBAA8WAh4IVXNlck5hbWUFDE1BU0FMQUhJMjAxMGQWAmYPZBYEAgMPDxYGHghSZWFkT25seWceBFRleHQFDE1BU0FMQUhJMjAxMB4HRW5hYmxlZGhkZAIPDxAPFgIeB0NoZWNrZWRoZGRkZAIFDw8WAh8AaGRkAgcPDxYCHwBoZGQCCQ8PFgIfAGhkFgICBQ8PFgIfBGhkZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WAQUvY3RsMDAkQ29udGVudFBsYWNlSG9sZGVyMSRsb2dpbmZyYW1lJFJlbWVtYmVyTWU9Ui0fNjQuNhCWW2dC7yFhNqTbNcJm7Q+EVewP9rv8Yg==") 
       .data("__VIEWSTATEGENERATOR","EE376E4E") 
       .data("__EVENTVALIDATION","/wEWBQKP+oCbCALfq6j2AQKR/OC4DgKj1+LbCwLs5ZY/pEGu3qyHck5jsPKXcvY2hzZwLeCSbXeQ4TprZKrhv7E=") 
       .userAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36") 
       .cookies(loginForm.cookies()) 



       .method(Connection.Method.POST) 
       .execute(); 

     Document homePage = Jsoup.connect("http://adsl.yemen.net.ye/en/user_main.aspx") 
       .cookies(loginForm.cookies()) 
       .get(); 




     Log.e("test", homePage.html()); 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    return null; 
} 

答えて

1

あなたは、ほとんどそこにちょうどいくつかのマイナーなものだ:

あなたが(例えば__VIEWSTATE__EVENTVALIDATIONおよびそれ以上)のユーザー名とパスワード以外を送信する必要がありますログインフォームのデータを参照してください?それらはを動的に検索する必要があります。最初にログインフォームページにアクセスしたときに送信される一意の値だと思います。

POST固定値の代わりに、最初のログインフォームからCookieを設定したのと同じように、受け取った最初のloginFormから解析する必要があります。

詳細については、Jsoup hereを使用してウェブサイトにログインする方法に関する包括的なチュートリアルを作成しました。

+0

私は同じチュートリアルをあなたが私に送ってくれました。 plzを説明することができますか?動的にtouはあなたがその真正性トークンを取得した方法を意味しますか?そうであれば、その検索の構文を#loginしますか? –

+0

動的属性値も試しましたが、同じログインページを返す –

0

Jsoup.connect(URL).method(Method.GET) .followRedirects(偽)// <は - トリック .cookie(SESSION_KEY、セッションID) .executeをしました();

関連する問題