2017-01-05 2 views
0

JSoupでaspxサイトへのログインを手伝ってもらえますか?Jsoup Login aspx正しく動作していない

マイコード;

package jsouplogin; 

import java.io.IOException; 
import org.jsoup.Connection; 
import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 

public class JSoupLogin { 
    public static void main(String[] args) throws IOException { 
     Connection.Response loginForm = Jsoup 
     .connect("http://login.cu.edu.tr/Login.aspx?ReturnUrl=%2f") 
     .method(Connection.Method.GET).execute(); 

     String userAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36"; 

     Document doc = loginForm.parse(); 

      String VIEWSTATEvalue = doc.select("input[name=__VIEWSTATE").attr("value"); 
      String EVENTTARGETvalue = doc.select("input[name=__EVENTTARGET").attr("value"); 
      String EVENTVARGUMENTvalue = doc.select("input[name=__EVENTARGUMENT").attr("value"); 
      String EVENTVALIDATIONvalue = doc.select("input[name=__EVENTVALIDATION").attr("value"); 
      String VIEWSTATEGENERATORvalue = doc.select("input[name=__VIEWSTATEGENERATOR").attr("value");      

    doc = Jsoup.connect("http://login.cu.edu.tr/default.aspx") 
      .referrer("http://www.google.com") 
      .userAgent(userAgent)  
      .data("__EVENTTARGET", EVENTTARGETvalue) 
      .data("__EVENTARGUMENT", EVENTVARGUMENTvalue) 
      .data("__VIEWSTATE", VIEWSTATEvalue) 
      .data("__VIEWSTATEGENERATOR", VIEWSTATEGENERATORvalue) 
      .data("__EVENTVALIDATION", EVENTVALIDATIONvalue)   
      .data("ctl06$txtKullaniciAdi", "myuserid").data("ctl06$txtSifre", "mypassword") 

     .cookies(loginForm.cookies()).post(); 

    System.out.println(doc); 

    } 

} 

これは、サイトにログインされていません。私のコードは、実行後にログインフォームをロードします。

私の英語はとても悪いです。

Webページのソース:ビューソース:http://login.cu.edu.tr/Login.aspx?ReturnUrl=%2f

+0

これは例外をスローしますか?あなたの目には何がないのですか? – luksch

+0

私はユーザーデータを投稿しました。 Javaはサイトへのログインではありません。私のコードは私をログインページにリダイレクトします。しかし、私は問題を解決しました。それは今働いている。 JSoupデータの送信ボタンの値と名前を追加しました。私は問題 を解決する答え ため –

答えて

0

注:私は今、手元に何のJavaコンパイラを持っていないので、私はちょうどあなたのコードを見てから答えます。

私には、CSSセレクタの文字列定義が間違っているようです。クロージングブラケットはあなたの文字列の定義に含まれていない

String VIEWSTATEvalue = doc.select("input[name=__VIEWSTATE]").attr("value"); 
                 ^

String VIEWSTATEvalue = doc.select("input[name=__VIEWSTATE").attr("value"); 

を変更してみてください。他の文字列についてもこれを変更します。

しかし、これが実際に問題を解決するかどうかはわかりません。

+1

おかげで、私はそれが今シームレスに取り組んでいるJSoupデータの '.dataセクション(「ctl06 $ lbLogin」、「Girişヤップ」)' をボタンの値と名前を提出しました。 ありがとうございます –

関連する問題