5
Asp.net形式我試圖登錄到http://www.investabroadproperties.com/網站使用下面的代碼登錄POST方法使用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();
但我無法登錄到這個網站。通過查看該網站的html源代碼,我發現有一些hidden
字段如下所示,但具有空值。還有一個屬性onsubmit="javascript:return WebForm_OnSubmit();"
,我不知道如何使用它。
我也看到this post,但我不明白,在接受的答案給出的邏輯/代碼(可能是一個幫助)。
任何人都可以幫助我,我如何登錄到網站?
我正在使用java和jsoup。
編輯
我也嘗試下面的代碼,但仍然沒有運氣
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();
爲什麼java標籤在這裏? – sForSujit
1.即使該欄位爲空/隱藏,也必須提交。 2.檢查瀏覽器的發佈請求 - 它包含一些額外的字段(包含值),如__viewstate。 3.將您的用戶代理字符串添加到您的請求中。 4.有幾個類似的問題,像這樣 - https://stackoverflow.com/questions/31871801/problems-submitting-a-login-form-with-jsoup/ – TDG
@TDG請參閱最新的代碼。 – Junaid