2011-11-23 22 views
0

我正嘗試在Google App Engine for Java中使用java.net登錄到網站。 登錄ID和密碼分別存儲在變量的「loginid」和「password」中。使用java.net連接到網站時出錯

,我已經創建了下面給出的代碼:

public Integer login() 
{ 

    String param1="", param2="", query=""; 
    String charset = "UTF-8"; 
    String loginurl = "https://website.com/login"; 
    try { 
     param1 = URLEncoder.encode(loginid, "UTF-8"); 
     param2 = URLEncoder.encode(password, "UTF-8"); 
     query = String.format("username=%s&password=%s", 
       URLEncoder.encode(param1, charset), 
       URLEncoder.encode(param2, charset)); 
    } catch (UnsupportedEncodingException ex) { 
     // ... 
    } 
    try { 
     URL url = new URL(loginurl + "?" + query); 
     BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream())); 
     String line=""; 
     String resp=""; 
     while ((line = reader.readLine()) != null) { 
     resp=resp + line; 
     } 
     actionmessage=" Response-" + resp;    
      return(1); 
    } 

    catch (Exception e) { 
     // ... 

    } 
    } 

我想更多地瞭解一些事情與裁判上面的代碼。

  1. 我確定我輸入了正確的ID和密碼,但仍然登錄失敗。上面的代碼有什麼問題?

  2. 如何檢查上述代碼提交的提交是否成功或出現錯誤?如果有錯誤,我如何獲取錯誤流?

回答

0

這是我的錯誤 - 我編碼傳遞給輸入url的兩個參數,兩次!!所以我進行身份驗證的網站收到了用戶名和密碼的亂碼!