簡體   English   中英

使用Java登錄網站

[英]Logging into Website Using Java

首先,是的,我知道有上百萬個問題問同樣的問題,但是他們的答案都沒有用。 我正在使用以下代碼:

    URL objtest = new URL("http://rccpdems01/ems/Login.php");
    HttpURLConnection con = (HttpURLConnection) objtest.openConnection();
    con.setRequestMethod("POST"); 
    String datas = "userid=G434326&psword=TestPass";
    con.setDoOutput(true);
    DataOutputStream wr = new DataOutputStream(con.getOutputStream());
    wr.writeBytes(datas);
    wr.flush();
    wr.close();

    BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
    String inputLine;
    while ((inputLine = in.readLine()) != null) 
        System.out.println(inputLine);
    in.close(); 

但是,正在返回的行使得HTML表單上似乎沒有任何反應,如果我輸入了錯誤的輸入詳細信息,則不會顯示錯誤消息,並且如果輸入的內容正確,則不會返回下一個或“主頁” HTML代碼。

為什么呢 我還需要激活按鈕嗎? 如果是這樣,我將如何執行以下操作:按鈕詳細信息:

type="submit" name="btnLogin" value="Login"

謝謝烏爾里希


它返回的是以下html代碼:

<html>
<style type="text/css"> 
.m0  {
font-weight: bold;
font-family: Arial;
color: black;
background-color: black;
font-size: x-small;;
  }
.m1  {
font-weight: bold;
font-family: Arial;
color: white;
background-color: red;
font-size: x-small;
letter-spacing: normal;
word-spacing: normal;
width: 100%;
border-top-style: double;
border-right-style: double;
border-bottom-style: double;
border-left-style: double;
  }

我沒有發布所有內容,但您明白了。


嗨,好的,我找到了我需要做的回答,即還定義了按下登錄按鈕:

userid=G4737326&psword=UwwiTest&btnLogin=Login

現在,我只需要弄清楚如何將gettig的結果發布回瀏覽器。

發布您看到的退貨將很有幫助。 沒有更多信息,我無法告訴您代碼有什么問題,但是我建議您嘗試使用Apache HTTP Client 從您的問題中,您可能會發現基於表單的登錄示例很有幫助。

編輯:

聽起來您正在嘗試模擬按鈕按下。 在這種情況下,您無需從頁面中刪除HTML。 您需要找出按鈕按下所生成的URL,然后以編程方式提交該URL。 然后,您可能需要閱讀標題,並確定設置了什么登錄cookie。 Apache HTTP Client已經為您完成了此任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM