Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.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
DefaultHttpClient获取和发布命令Java Android_Java_Android_Http_Post_Httpwebrequest - Fatal编程技术网

DefaultHttpClient获取和发布命令Java Android

DefaultHttpClient获取和发布命令Java Android,java,android,http,post,httpwebrequest,Java,Android,Http,Post,Httpwebrequest,好的,这是我的申请表: 一款Android应用程序,允许我从手机应用程序而不是网站向CokeZone.co.uk提交CokeZone代码 因此,我编写了这段代码来执行post logon命令,然后检查im是否在登录后登录 问题是——我在发送post命令后从主页上得到的html是默认的——好像我没有登录一样——所以有些地方出了问题 谁能帮帮我吗!这可能是我将帖子发送到的URL,或者POST命令中的参数——我没有做过很多这方面的工作,所以这可能是显而易见的 以下是我目前的代码: DefaultHt

好的,这是我的申请表:

一款Android应用程序,允许我从手机应用程序而不是网站向CokeZone.co.uk提交CokeZone代码

因此,我编写了这段代码来执行post logon命令,然后检查im是否在登录后登录

问题是——我在发送post命令后从主页上得到的html是默认的——好像我没有登录一样——所以有些地方出了问题

谁能帮帮我吗!这可能是我将帖子发送到的URL,或者POST命令中的参数——我没有做过很多这方面的工作,所以这可能是显而易见的

以下是我目前的代码:

 DefaultHttpClient httpclient = new DefaultHttpClient();

    HttpGet httpget = new HttpGet(url);

    HttpResponse response = httpclient.execute(httpget);
    HttpEntity entity = response.getEntity();
    thisResponse = printPage(entity.getContent());
    Log.e("debug",thisResponse);
    System.out.println("Login form get: " + response.getStatusLine());
    if (entity != null) {
        entity.consumeContent();
    }
    System.out.println("Initial set of cookies:");
    List<Cookie> cookies = httpclient.getCookieStore().getCookies();
    if (cookies.isEmpty()) {
        System.out.println("None");
    } else {
        for (int i = 0; i < cookies.size(); i++) {
            System.out.println("- " + cookies.get(i).toString());
        }
    }

    HttpPost httpost = new HttpPost("https://secure.cokezone.co.uk/home/blank.jsp?_DARGS=/home/login/login.jsp");

    List <NameValuePair> nvps = new ArrayList <NameValuePair>();
    nvps.add(new BasicNameValuePair("_dyncharset", "ISO-8859-1"));
    nvps.add(new BasicNameValuePair("/grlp/login/LoginHandler.loginFormBean.name","renegadeandy%40gmail.com"));
    nvps.add(new BasicNameValuePair("_D:/grlp/login/LoginHandler.loginFormBean.name", "+"));
    nvps.add(new BasicNameValuePair("/grlp/login/LoginHandler.cookiedUser", "false"));
    nvps.add(new BasicNameValuePair("_D:/grlp/login/LoginHandler.cookiedUser", "+"));
    nvps.add(new BasicNameValuePair("/grlp/login/LoginHandler.loginFormBean.password", "passwordval"));
    nvps.add(new BasicNameValuePair("_D:/grlp/login/LoginHandler.loginFormBean.password", "+"));
    nvps.add(new BasicNameValuePair("/grlp/login/LoginHandler.rememberMe", "yes"));
    nvps.add(new BasicNameValuePair("_D:/grlp/login/LoginHandler.rememberMe", "false"));
    nvps.add(new BasicNameValuePair("/grlp/login/LoginHandler.aSuccessURL", "http://www.cokezone.co.uk/home/index.jsp"));
    nvps.add(new BasicNameValuePair("_D:/grlp/login/LoginHandler.aSuccessURL", "+"));
    nvps.add(new BasicNameValuePair("/grlp/login/LoginHandler.aErrorURL", "http://www.cokezone.co.uk/home/index.jsphttps://secure.cokezone.co.uk/home/index.jsp"));
    nvps.add(new BasicNameValuePair("/grlp/login/LoginHandler.aErrorURL", "+"));
    nvps.add(new BasicNameValuePair("/grlp/login/LoginHandler.explicitLogin", "true"));
    nvps.add(new BasicNameValuePair("_D:/grlp/login/LoginHandler.explicitLogin", "+"));
    nvps.add(new BasicNameValuePair("/grlp/login/LoginHandler.fICLogin", "login"));
    nvps.add(new BasicNameValuePair("_D:/grlp/login/LoginHandler.fICLogin", "+"));
    nvps.add(new BasicNameValuePair("/grlp/login/LoginHandler.fICLogin", "LOGIN"));
    nvps.add(new BasicNameValuePair("_D:/grlp/login/LoginHandler.fICLogin", "+"));
    nvps.add(new BasicNameValuePair("_DARGS", "/home/login/login.jsp"));

    httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));

    response = httpclient.execute(httpost);
    entity = response.getEntity();

    System.out.println("Login form get: " + response.getStatusLine());
    if (entity != null) {
      thisResponse = printPage(entity.getContent());
      entity.consumeContent();
    }

    Log.e("debug",thisResponse);
    Log.e("debug","done");

    httpget = new HttpGet("http://www.cokezone.co.uk/home/index.jsp");

    response = httpclient.execute(httpget);
    entity = response.getEntity();

  TextView points = (TextView)findViewById(R.id.points);
  points.setText(getPoints(entity.getContent()).toString());
  debug.setText(thisResponse);
    System.out.println("Post logon cookies:");
    cookies = httpclient.getCookieStore().getCookies();
    if (cookies.isEmpty()) {
        System.out.println("None");
    } else {
        for (int i = 0; i < cookies.size(); i++) {
            System.out.println("- " + cookies.get(i).toString());
        }
    }
DefaultHttpClient-httpclient=newdefaulthttpclient();
HttpGet HttpGet=新的HttpGet(url);
HttpResponse response=httpclient.execute(httpget);
HttpEntity=response.getEntity();
thisResponse=printPage(entity.getContent());
Log.e(“调试”,此响应);
System.out.println(“登录表单get:+response.getStatusLine());
如果(实体!=null){
entity.consumercontent();
}
System.out.println(“cookies的初始集:”);
列表cookies=httpclient.getCookieStore().getCookies();
if(cookies.isEmpty()){
系统输出打印项次(“无”);
}否则{
对于(int i=0;i
对登录请求的响应包含一个Cookie,其中包含登录会话的会话ID。您必须在后续请求中将其发回服务器,否则这些其他请求与您的登录无关


编辑:如果HttpClient实际上正在管理您的Cookie(对照检查),那么。。。也许登录后会将您重定向到其他地方,您需要遵循该重定向才能获取cookie?这里有点猜测,但听起来你好像没有完成登录。

DefaultHttpClient会为你处理所有这些事情。“对登录请求的响应包含一个Cookie,其中包含登录会话的会话ID。您必须在后续请求中将其发回服务器,否则其他请求与您的登录无关。“您能告诉我如何执行此任务,我确实需要将会话id传回服务器。请帮助