2012-02-16 91 views
0

我需要登錄到主頁,但我希望我的程序能夠這樣做,或者以某種方式通過瀏覽器登錄時,我的程序可以訪問網頁。如何使用Java登錄到站點

的形式是這樣的:

<form name="something" action="loginchk.asp" method="post" > 

登錄網頁的源是這樣的:(密碼字段)

<td nowrap>Password:</td> 

    <td>  <input type="password" name="pass" value="" document.scopeeslogin.splctl.value='1';" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);"> 

     </td> 

和在按鈕符號:

< input type="image" src="images/btn_login.gif" alt="Login" onClick="javascript:return Validate();" /> 

和驗證功能:

function Validate() 
{ 
    if (document.scopeeslogin.pass.value=='') 
    { 

    alert('Please enter password'); 
    document.scopeeslogin.pass.focus(); 
    return false; 
    } 
    return true; 

}

+1

爲什麼你不能發送密碼作爲獲取請求的一部分?另外,您可能需要查看[selenium](http://seleniumhq.org/docs/appendix_installing_java_driver_client.html)。 – Chris 2012-02-16 22:08:06

+0

我試過了不行!我不知道這個Selenium鏈接是什麼意思! – 2012-02-16 22:15:51

+2

登錄你的案例涉及JavaScript代碼將無法執行的JavaScript。所以,看看像'htmlunit'這樣的無頭瀏覽器來處理javascript。 – RanRag 2012-02-16 22:19:37

回答

0

你可以看看Selenium。 您可以使用Java來控制瀏覽器填寫輸入字段,觸發事件和提交表單,還可以讀取調用頁面DOM。

0

取決於該網站是否通過HTTPS保護的,你可以看看Wireshark的,用真正的瀏覽器登錄查看HTTP請求,並制定必要的信息後僞請求。如果它是安全的,你將不得不使用JavaScript執行庫。