2012-11-06 41 views
1

我試圖用一種形式連接到一個URL具有此值與HttpClient的變化值的形式:連接到在Java

http://aulavirtual.uv.es/

我怎樣才能做到這一點,如果我每次登錄值更改(時間,token_id,哈希)?請幫幫我 !!我嘗試使用HttpUrlConnection,現在使用HttpClient 4.

<form name="login" method="post" action="/register/"> 
    <input type="hidden" name="form:mode" value="edit"> 
    <input type="hidden" name="form:id" value="login"> 
    <input type="hidden" name="__confirmed_p" value="0"> 
    <input type="hidden" name="__refreshing_p" value="0"> 
    <input type="hidden" name="return_url" value="/dotlrn/index"> 
    <input type="hidden" name="time" value="1352222384"> 
    <input type="hidden" name="token_id" value="423"> 
    <input type="hidden" name="hash" value="3F8865DB5E6603C296428A5A7C0D66C0256D5626"> 
     <tr> 
      <td class="formulari">Nom d'usuari</td> 
      <td class="formulari"> 
       <input type="text" id="username" name="username" value="" size="25" alt="Nom d'usuari"></td> 
     </tr> 
     <tr> 
      <TD class="formulari">Contrasenya</TD> 
      <TD class="formulari"> 
       <input type="password" id="password" name="password" size="25" ALT="Contrasenya d'accés"></TD> 
     </tr> 
     <TR> 
      <TD COLSPAN="2" class="formulari1"> 
       <div align="center"> 
       <input id="login" type="submit" value="  Entreu  " alt="Entrar al Aula Virtual"> 
       <A HREF="https://aulavirtual.uv.es"><IMG BORDER="0" HEIGHT="25" WIDTH="25" SRC="/resources/key.gif" ALT="Entrar en modo seguro" TITLE="Entrar en modo seguro"></A> 
       </div> 
      <!-- 
      <Table COLSPAN="2" class="fonsgifs"> 
       <div align="center" class="titol3"> 
       <strong><A HREF="/altrescursos" class="font2nivell"><U>Altres cursos acad&egrave;mics</U></A></SPAN></strong> 
      </table> 
       <BR><BR><BR> 
       <CENTER> 
      --> 
      <!-- 
       <A HREF="/dotlrn/clubs/openacslrnconference/xowiki/"><img align="center" src="/images/cabeceraOPEN.png" border = 0 align="center" alt="Conferencia OPEN" /></a> 

       <BR><A HREF="/dotlrn/clubs/openacslrnconference/xowiki/"><img align="center" src="/images/ConferenciaSofwareLibre.png" border = 0 align="center" alt="Conferencia Software Libre" /></a> 
       <BR><A HREF="/dotlrn/clubs/openacslrnconference/xowiki/">7th OpenACS/.LRN Conference </A> 
       <BR><A HREF="/dotlrn/clubs/openacslrnconference/xowiki/">Conferencia sobre Software Libre en Educación Superior</A>     
       </CENTER> 
      --> 
     </TD> 
     </TR> 

     <TR> 
      <TD class="formulari1" COLSPAN="2" style="text-align:center"> 

      <BR><BR><BR> 
      </TD> 
     </TR> 
    </FORM> 

回答

3

此表單使用隱藏參數用於安全目的。每次顯示http://aulavirtual.uv.es/時,這些隱藏參數都會改變。

你可以試着改變你的代碼執行以下操作:

  1. 得到http://aulavirtual.uv.es/頁面。
  2. 解析生成的HTML以從表單元素中提取隱藏參數的值time,token_idhash
  3. 像現在這樣做POST,但傳入這三個值而不是您現在使用的固定值。
+0

好的,這是我的第一個選擇。我試圖解析HTML,但與jericho-html-3.2.jar我不能這樣做,因爲連接建立,我認爲是不同於原來的GET,我該怎麼辦?當我發送POST時,是否有相同的連接?我正在嘗試,如果我解決這個問題,我會發布它! 我接受更多建議! –

+0

隨着傑里科你有兩個選擇(1)用戶的'資料來源(URL)'構造,並有傑里科處理最初的GET請求,或(2)使用HttpClient的4打開GET請求,然後使用'源(閱讀器)'或' Source(InputStream)'來解析HTML。一旦你提取出隱藏的參數,你可以使用HttpClient 4打開一個新的POST請求來傳遞表單信息。這將是兩個完全不同的要求。 –