2013-11-09 86 views
0

有一個網站,輸入卷號,然後點擊提交按鈕後顯示的結果。我需要以編程方式訪問某些可用卷號的結果。編程方式訪問網頁

爲泡沫的HTML代碼是:

<form action="http://www.rtuportal.com/result/65-b-tech-ivth-sem-main-exam-result-2013/" method="post"> 
    <input type="" name="roll_number" value="" placeholder="enter your roll number"> 
    <input type="submit" value="Submit"> 
</form><div style="margin-top: 30px;"><div class="fb-comments" data-href="http://www.rtuportal.com/result/65-b-tech-ivth-sem-main-exam-result-2013/" data-width="730" data-num-posts="10"></div></div> 
  1. 要發送到form標籤action屬性中提到的URL卷數?
  2. 需要發送什麼數據以及如何格式化?

我會在Java中使用jsoup來這樣做。

更新:我能夠得到結果數據存在的URL,但是當我用jsoup連接到它時,出現「發生錯誤」,但當我通過瀏覽器訪問相同的URL時,結果是正確顯示。我需要什麼使這個jsoup請求看起來像一個瀏覽器請求?我已經使用Mozilla作爲UA。

回答

1
  1. 的形式使用POST方法。看看這個代碼。它以Mozilla Firefox打開結果頁面。具有在<input type="" name="roll_number"中定義的名稱的變量通過data()方法傳遞到頁面上。

代碼格式不工作的權利

Document doc = Jsoup.connect("url") 
.data("roll_number", "yourValue") 
.userAgent("Mozilla") 
.post(); 
+0

這沒有奏效。接收方HTML代碼不包含任何結果數據。如果我將代碼保存爲HTML文件並斷開Internet連接,則瀏覽器只會在結果邊緣顯示錯誤消息「未找到服務器」。打開收到的HTML頁面後,頁面仍然從服務器獲取結果數據。 –

+0

更新:從結果頁面的代碼中,數據包含在一個iframe中,該iframe從URL中獲取結果並隨卷號一起發送密鑰。 –