[英]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.