我正在尝试使用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) {
// ...
}
}
我想通过以上代码了解更多关于一些事情。
我确信我输入了正确的ID和密码,但我仍然遇到登录失败。上面的代码出了什么问题?
如何检查上述代码提交的提交是否成功或是否有错误?如果出现错误,我该如何获得错误流?
答案 0 :(得分:0)
这是我的错误 - 我编码传递给输入网址的2个参数,两次!!所以我在身份验证的网站收到了用户ID和密码的乱码!