Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 尝试登录网站…有点困惑_Android_Html_Http_Login - Fatal编程技术网

Android 尝试登录网站…有点困惑

Android 尝试登录网站…有点困惑,android,html,http,login,Android,Html,Http,Login,下面的程序一直在B点输出原始登录页的源代码。为什么会发生这种情况?我怎样才能着手解决这个问题?要把该上来的下一个网页的资料 <form method="POST" name="logonform" action="/check-443/logon.logonform" autocomplete="off"> <input type="hidden" name="CDT" value="12313"> <i

下面的程序一直在B点输出原始登录页的源代码。为什么会发生这种情况?我怎样才能着手解决这个问题?要把该上来的下一个网页的资料

<form method="POST" name="logonform" action="/check-443/logon.logonform" autocomplete="off">
       <input type="hidden" name="CDT"                  value="12313">
       <input type="hidden" name="NEW_PASSWORD"         value="">
       <tr>
         <td class="content">
           <label for="User">Username</label>
         </td>
         <td>
           <input type="text" name="LOGON" id="id" value="" size="15" maxlength="15">
         </td>
       </tr>
       <tr>
         <td class="content">
           <label for="pass">Password:</label>
         </td>
         <td>
           <input type="password" name="PASSWORDS" id="pw" value="" size="15">
         </td>
       </tr>
       <tr>
         <td>
           <input type="submit" value="Log In">
        </td>
       </form>

用户名
密码:
我的代码似乎不起作用(我在网上看到了这一点,认为这可能是适用的)

HttpClient-HttpClient=newdefaulthttpclient();
HttpPost HttpPost=新的HttpPost(“https://abc.cba.com");
List nameValuePairs=新的ArrayList(2);
添加(新的BasicNameValuePair(“id”、“用户名”);
nameValuePairs.add(新的BasicNameValuePairs(“pw”),“****”);
添加(新的BasicNameValuePair(“登录”、“登录”);
试一试{
UrlEncodedFormEntity p_entity=新的UrlEncodedFormEntity(nameValuePairs);
httppost.setEntity(p_entity);
HttpResponse response=httpclient.execute(httppost);
HttpEntity=response.getEntity();
int status_code=response.getStatusLine().getStatusCode();
如果(状态代码>=300){
Log.d(“asf”,“Error”);//点A***************
返回false;
}否则{
Log.d(“asf”,EntityUtils.toString(entity));//点B***************
返回true;
}
}捕获(异常uee){}
返回false;

尝试将这些隐藏的输入字段(CDT、新密码)添加到nameValuePairs中,看看这是否有什么不同。不记得是否需要“登录”,也可以尝试删除它。

尝试将这些隐藏的输入字段(CDT、新密码)添加到nameValuePairs中,看看这是否有什么不同。不记得是否需要“登录”,也可以尝试删除它。

为了使用客户端而不是HTML登录页面“登录”,您需要将登录表单数据发布到表单所处的位置

在这种情况下,您应该从客户端发布到“/check-443/logon.logonform”,以便像web表单一样工作(当前表单将数据发布到web表单)

我建议您访问并重新了解表单。

为了使用客户端而不是HTML登录页面“登录”,您需要将登录表单数据发布到表单所处的位置

在这种情况下,您应该从客户端发布到“/check-443/logon.logonform”,以便像web表单一样工作(当前表单将数据发布到web表单)


我建议你去复习一下你对表格的理解。

@Chris:谢谢你清理这篇文章。我不知道怎么贴。@Chris:谢谢你清理这篇文章。我不知道如何发布它。我是否要输入字段id或名称?这就是stackoverflow.com/questions/8853070/explaining-http-post-response发生的情况。您应该使用“name”属性。你好像在用“身份证”。之前没有注意到,但也将其切换为“名称”。我添加了cdt号码,顺便说一句,每次刷新时,cdt号码都会不断变化。。。。。我添加了一个标题“/check-443/logon.logonform”,它现在表示请求不正确。我有点困惑,到底是怎么回事?我没有输入字段id或名称?这就是stackoverflow.com/questions/8853070/explaining-http-post-responseYou应该使用“name”属性。你好像在用“身份证”。之前没有注意到,但也将其切换为“名称”。我添加了cdt号码,顺便说一句,每次刷新时,cdt号码都会不断变化。。。。。我添加了一个标题“/check-443/logon.logonform”,现在它说的是错误的请求,我有点困惑,在登录后会出现一个对话框……啊……我怎么能让它点击OK呢。我应该在哪里找到更多关于它的信息对话框意味着你正在使用JavaScript打开一个
AlertDialog
的浏览器中查看它。如果您只是通过响应检索HTML,则不会出现对话框。当我查看它时,代码会显示以下内容:…[内容]…



正在处理。。。这是否意味着登录成功,或者我必须单击某个东西才能使其进入onLoad?这意味着您必须通读并理解reDirect()函数中的javascript,然后在应用程序中复制它。你需要的关于Javascript的所有信息都可以在w3schools上找到。我在登录后会弹出一个对话框……啊啊啊啊……我怎么能让它点击OK呢。我应该在哪里找到更多关于它的信息对话框意味着你正在使用JavaScript打开一个
AlertDialog
的浏览器中查看它。如果您只是通过响应检索HTML,则不会出现对话框。当我查看它时,代码会显示以下内容:…[内容]…



正在处理。。。这是否意味着登录成功,或者我必须单击某个东西才能使其进入onLoad?这意味着您必须通读并理解reDirect()函数中的javascript,然后在应用程序中复制它。你所需要的关于Javascript的所有信息都可以在W3学校获得。
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("https://abc.cba.com");

    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    nameValuePairs.add(new BasicNameValuePair("id", "Username"));
    nameValuePairs.add(new BasicNameValuePair("pw", "*****"));
    nameValuePairs.add(new BasicNameValuePair("Log In", "Log In"));
    try {
        UrlEncodedFormEntity p_entity = new UrlEncodedFormEntity(nameValuePairs);
        httppost.setEntity(p_entity);
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        int status_code = response.getStatusLine().getStatusCode();

        if (status_code >= 300) {
            Log.d("asf", "Error"); //POINT A***************
            return false;

        } else {
            Log.d("asf", EntityUtils.toString(entity)); //POINT B***************
            return true;
        }

    } catch (Exception uee){}
    return false;