使用java.net连接到网站时出错

时间:2011-11-23 13:17:32

标签: java google-app-engine urlconnection

我正在尝试使用Google App Engine for Java中的java.net登录网站。 登录ID和密码分别存储在变量'loginid'和'password'中。

我创建的代码如下:

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. 如何检查上述代码提交的提交是否成功或是否有错误?如果出现错误,我该如何获得错误流?

1 个答案:

答案 0 :(得分:0)

这是我的错误 - 我编码传递给输入网址的2个参数,两次!!所以我在身份验证的网站收到了用户ID和密码的乱码!