2017-08-04 30 views
5

kullanarak Asp.net forma kullanıyorum kodGirişi Mesaj Yöntemi Jsoup

Connection.Response loginForm = Jsoup.connect("http://www.investabroadproperties.com/") 
       .method(Connection.Method.GET) 
       .execute(); 

     Document document = Jsoup.connect("http://www.investabroadproperties.com/") 
       .data("ctl00$ctl02$tbEmail", "myemail") 
       .data("ctl00$ctl02$tbPassword", "mypassword") 
       .cookies(loginForm.cookies()) 
       .post(); 

aşağıdaki http://www.investabroadproperties.com/ sitesine giriş çalışıyorum Ama bu siteye giriş yapamıyorum. Sitenin html kaynağına bakarak, aşağıda gösterildiği gibi boş değerleri olan hidden alanlarının olduğunu görüyorum. Ayrıca onsubmit="javascript:return WebForm_OnSubmit();" özniteliği var, nasıl kullanacağımı bilmiyorum.

enter image description here

Ben de this post görüyorum ama (bir yardımcı olacağını olabilir) kabul edilen yanıt verilmiştir mantık/kod anlayamadık.

Siteye nasıl giriş yapabilirim?

java ve jsoup kullanıyorum.

Ben de kodunun altına denenmiş

DÜZENLEME ancak aşağıdaki görüntü benim tarayıcının geliştirici araçları alındı ​​

Connection.Response loginForm = Jsoup.connect("http://www.investabroadproperties.com/") 
       .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1") 
       .method(Connection.Method.GET) 
       .execute(); 

     Document doc = loginForm.parse(); 

     Elements hiddenElems = doc.select("input[type=hidden]"); 
     Map<String, String> nameValue = new HashMap<>(); 

     for(Element elem : hiddenElems) { 
      nameValue.put(elem.attr("name"), elem.attr("value")); 
     } 

     Document document = Jsoup.connect("http://www.investabroadproperties.com/") 
       .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1") 
       .data("ctl00$ctl02$tbEmail", "myValidEmail") 
       .data("ctl00$ctl02$tbPassword", "myValidPassword") 
       .data(nameValue) 
       .cookies(loginForm.cookies()) 
       .post(); 
+0

Neden java etiketi burada? – sForSujit

+0

1. Alan boş/gizli olsa bile göndermek zorunludur. 2. Tarayıcınızın yayın isteğini kontrol edin - __viewstate gibi bazı ek alanlar (değerler ile) içerir. 3. Kullanıcı aracısı dizginizi isteklerinizi ekleyin. 4. Bunun gibi birkaç benzer soru vardır - https://stackoverflow.com/questions/31871801/problems-submitting-a-login-form-with-jsoup/ – TDG

+0

@TDG Lütfen güncellenen koda bakınız. – Junaid

cevap

3

hala şans. Gördüğünüz gibi, yine istekte bazı değerleri eksik:

post request

Sunucuya bütün bu değerleri göndermelidir.