2015-07-19 89 views
1

我想檢查下面的html代碼生成的響應。如何處理Jsoup form-post請求上的html按鈕

<form class="init" action="Initz.php" method="post"> 
<table border="0" cellpadding="6" cellspacing="0"> 
<tr><td>Name</td><td><input type="text" name="name" class="init"></td></tr> 
<tr><td>Password</td><td><input type="text" name="pass" class="init"></td></tr> 
<tr><td colspan=2><input type="radio" name="x" value="1" checked="checked">Enter</td></tr> 
<tr><td colspan=2><input type="radio" name="x" value="2">Register</td></tr> 
<tr><td colspan=2><input type="submit" value="Login"> &nbsp <input type="reset" value="Reset"></td></tr> 
</table> 
</form> 

該頁面包含2個輸入文本字段,由屬性「文本」,2個無線電輸入處理,與「Enter」鍵一個默認和2個按鈕,其不具有「名稱」被選擇-attribute和因此我不知道如何處理它們。

到目前爲止,我曾嘗試與Jsoup幾個備選方案,基本上集中在下面的代碼,而是獲得了迴應,我不斷收到起始頁面的代碼,可能是由於不完整的請求被髮送:

Document doc = Jsoup.connect("example http") 
        .data("name","myname") 
        .data("pass","mypass") 
        .data("x","1") 
        .post(); 

我怎樣纔能有效地處理最後一個輸入行併發布請求?

+2

你必須檢查請求的瀏覽器發送它 - 也許它有更多的信息,如餅乾等,如果你的URL添加到這個問題,它西港島線是比較容易理解。 – TDG

+0

@TDG使用FormElement可能會更快。參見:http://stackoverflow.com/questions/31190892/how-to-fill-a-form-with-jsoup?lq=1 – Stephan

+0

@Stephan酷!我不知道。看起來非常有用,謝謝。 – TDG

回答

1

您可以要求Jsoup爲您發送表格。只需將它的變量值(name,pass和x)傳給ant,它就可以完成剩下的工作。

看到這裏的細節:How to fill a form with Jsoup?