Advertisement
Guest User

Untitled

a guest
Mar 28th, 2010
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.53 KB | None | 0 0
  1. package andy.cokezone;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import java.io.InputStreamReader;
  7. import java.net.URL;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10. import java.util.Scanner;
  11.  
  12. import org.apache.http.Header;
  13. import org.apache.http.HttpEntity;
  14. import org.apache.http.HttpResponse;
  15. import org.apache.http.NameValuePair;
  16. import org.apache.http.client.ClientProtocolException;
  17. import org.apache.http.client.entity.UrlEncodedFormEntity;
  18. import org.apache.http.client.methods.HttpGet;
  19. import org.apache.http.client.methods.HttpPost;
  20. import org.apache.http.cookie.Cookie;
  21. import org.apache.http.impl.client.DefaultHttpClient;
  22. import org.apache.http.message.BasicNameValuePair;
  23. import org.apache.http.params.HttpParams;
  24. import org.apache.http.protocol.HTTP;
  25.  
  26. import android.app.Activity;
  27. import android.app.TabActivity;
  28. import android.content.Context;
  29. import android.content.Intent;
  30. import android.os.Bundle;
  31. import android.util.Log;
  32. import android.view.View;
  33. import android.view.View.OnClickListener;
  34. import android.widget.Button;
  35. import android.widget.TabHost;
  36. import android.widget.TextView;
  37. import android.widget.Toast;
  38. import android.widget.TabHost.TabSpec;
  39.  
  40. public class CokeZone extends TabActivity {
  41.     /** Called when the activity is first created. */
  42.    
  43.     static String thisResponse = "";
  44.     TextView debug;
  45.     public void onCreate(Bundle savedInstanceState) {
  46.         super.onCreate(savedInstanceState);
  47.         setContentView(R.layout.main);
  48.         TabHost mTabHost = getTabHost();
  49.         debug = (TextView)findViewById(R.id.debugText);
  50.         mTabHost.addTab(mTabHost.newTabSpec("tab_test1")
  51.           .setIndicator("Main")
  52.           .setContent(R.id.tabview1));
  53.         mTabHost.addTab(mTabHost.newTabSpec("tab_test2")
  54.           .setIndicator("Debug")
  55.           .setContent(R.id.tabview2));
  56.         mTabHost.addTab(mTabHost.newTabSpec("tab_test3")
  57.           .setIndicator("Xtra")
  58.           .setContent(R.id.points));
  59.        
  60.         mTabHost.setCurrentTab(0);
  61.    
  62.        
  63.         String url = "http://www.cokezone.co.uk/home/index.jsp";
  64.         try {
  65.             formLogin(url);
  66.         } catch (ClientProtocolException e) {
  67.             // TODO Auto-generated catch block
  68.             e.printStackTrace();
  69.         } catch (IOException e) {
  70.             // TODO Auto-generated catch block
  71.             e.printStackTrace();
  72.         }
  73.        
  74.     }
  75.    
  76.     OnClickListener debugCallBack = new OnClickListener(){
  77.  
  78.         @Override
  79.         public void onClick(View v) {
  80.             // TODO Auto-generated method stub
  81.             Context context = getApplicationContext();
  82.        
  83.             int duration = Toast.LENGTH_LONG;
  84.  
  85.             Toast toast = Toast.makeText(context, thisResponse, duration);
  86.             toast.show();
  87.         }
  88.        
  89.        
  90.        
  91.     };
  92.    
  93.     public DefaultHttpClient formLogin(String url) throws ClientProtocolException, IOException{
  94.        
  95.         DefaultHttpClient httpclient = new DefaultHttpClient();
  96.        
  97.         httpclient.getParams().setParameter(
  98.                 "http.useragent",
  99.                 "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"
  100.             );
  101.  
  102.         HttpGet httpget = new HttpGet("http://wap.cokezone.co.uk");
  103.  
  104.         HttpResponse response = httpclient.execute(httpget);
  105.         HttpEntity entity = response.getEntity();
  106.    
  107.    
  108.         System.out.println("Login form get: " + response.getStatusLine());
  109.         if (entity != null) {
  110.             entity.consumeContent();
  111.         }
  112.         System.out.println("Initial set of cookies:");
  113.         List<Cookie> cookies = httpclient.getCookieStore().getCookies();
  114.         if (cookies.isEmpty()) {
  115.             System.out.println("None");
  116.         } else {
  117.             for (int i = 0; i < cookies.size(); i++) {
  118.                 System.out.println("- " + cookies.get(i).toString());
  119.             }
  120.         }
  121.        
  122.         String homepage = printPage(entity.getContent());
  123.        
  124.         Scanner scanner = new Scanner(homepage);
  125.         String temp ;
  126.         String login = null;
  127.        while(scanner.hasNext()){
  128.            temp = scanner.nextLine();
  129.            if(temp.contains("Log")){
  130.                Log.e("debug", "Found:"+temp);
  131.                login = temp.split("\"")[7];
  132.                Log.e("debug","logon form:"+login);
  133.            }
  134.        }
  135.        
  136.      
  137.    
  138.      
  139.  
  140.        HttpGet httpgetLogin = new HttpGet(login);
  141.    
  142.  
  143.        HttpResponse response2 = httpclient.execute(httpgetLogin);
  144.        HttpEntity entity2 = response2.getEntity();
  145.  
  146.        
  147.        
  148.        String loginPage = printPage(entity2.getContent());
  149.    
  150.         scanner = new Scanner(loginPage);
  151.        
  152.        login = null;
  153.       while(scanner.hasNext()){
  154.        temp = scanner.nextLine();
  155.        if(temp.contains("form action")){
  156.            Log.e("debug", "Found:"+temp);
  157.            login = temp.split("\"")[1];
  158.            Log.e("debug","logon post:"+login);
  159.        }
  160.       }
  161.        
  162.      
  163.    
  164.        //Got LOGIN POST to create:
  165.        
  166.         HttpPost httpost = new HttpPost(login);
  167.  
  168.         List <NameValuePair> nvps = new ArrayList <NameValuePair>();
  169.         nvps.add(new BasicNameValuePair("email", "renegadeandy@gmail.com"));
  170.         nvps.add(new BasicNameValuePair("password","qsceszqwe"));
  171.         nvps.add(new BasicNameValuePair("go", ",+Login"));
  172.      
  173.         httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
  174.  
  175.         response = httpclient.execute(httpost);
  176.         entity = response.getEntity();
  177.  
  178.         System.out.println("Login form get: " + response.getStatusLine());
  179.         if (entity != null) {
  180.           thisResponse = printPage(entity.getContent());
  181.           entity.consumeContent();
  182.         }
  183.  
  184.         Log.e("debug",thisResponse);
  185.         Log.e("debug","done");
  186.        
  187.        // httpget = new HttpGet("http://www.cokezone.co.uk/home/index.jsp");
  188.  
  189.        // response = httpclient.execute(httpget);
  190.        // entity = response.getEntity();
  191.      
  192.       TextView points = (TextView)findViewById(R.id.points);
  193.       points.setText(getPoints(entity.getContent()).toString());
  194.      
  195.         System.out.println("Post logon cookies:");
  196.         cookies = httpclient.getCookieStore().getCookies();
  197.         if (cookies.isEmpty()) {
  198.             System.out.println("None");
  199.         } else {
  200.             for (int i = 0; i < cookies.size(); i++) {
  201.                 System.out.println("- " + cookies.get(i).toString());
  202.             }
  203.         }
  204.  
  205.      
  206.      
  207.        
  208.        
  209.         //ok so now logged in
  210.        
  211.        
  212.         return httpclient;
  213.        
  214.        
  215.        
  216.         // When HttpClient instance is no longer needed,
  217.         // shut down the connection manager to ensure
  218.         // immediate deallocation of all system resources
  219.  
  220.        
  221.         //httpclient.getConnectionManager().shutdown();        
  222.     }
  223.    
  224.     public String getPoints(InputStream s) throws IOException{
  225.         byte[] bytes = new byte[1000];
  226.  
  227.         StringBuilder x = new StringBuilder();
  228.  
  229.         int numRead = 0;
  230.         while ((numRead = s.read(bytes)) >= 0) {
  231.             x.append(new String(bytes, 0, numRead));
  232.         }
  233.        
  234.         String html = x.toString();
  235.         debug.setText(html);
  236.         if(html.contains("Andy")){
  237.             return "YES!";
  238.         }
  239.         else{
  240.             return "NO!";
  241.         }
  242.        
  243.     }
  244.    
  245.     public String printPage(InputStream s) throws IOException{
  246.        
  247.         byte[] bytes = new byte[1000];
  248.  
  249.         StringBuilder x = new StringBuilder();
  250.  
  251.         int numRead = 0;
  252.        
  253.         while ((numRead = s.read(bytes)) >= 0) {
  254.             x.append(new String(bytes, 0, numRead));
  255.         }
  256.        
  257.         return x.toString();
  258.        
  259.     }
  260. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement