# HttpClient:Automatische Anmeldung



## HichamId (28. August 2008)

Hallo Zusammen!

ich versuche eine automatische Anmeldung auf eine Webseite zurealisieren, ich will es mit HttpClient versuchen, bin aber nicht klar gekommen. 
Mein Code sieht so aus:

```
Class MyActivity extends Activity{
  void Login {
  // Connection aufbau   
  HttpClient client =new HttpClient();
  GetMethod getMethod = new GetMethod("http://www.gmx.net/de/");
  client.executeMethod(getMethod);        

  //Login        
  PostMethod postMethod = new PostMethod("http://www.gmx.net/de/");
  postMethod.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY)
  postMethod.addParameter("user[email]","xxxx@gmx.de");
  postMethod.addParameter("user[password]","xxxxxxxxx");
  postMethod.addParameter("commit","Login");
  client.executeMethod(postMethod);    
  
   //URL aus postMethod holen und mit Hilfe zu Webview übergeben
  WebView web = new WebView(this);        
  org.apache.commons.httpclient.URI uri = (org.apache.commons.httpclient.URI)postMethod.getURI();        
  URI urid = URI.create(uri.toString());         
  URL urlF = urid.toURL();        
  String path = urlF.getFile();        
  web.loadUrl(path);   
  this.setContentView(web);   
  }
}
```

wenn ich path mit "www.gmx.de" ersetze, wird schon die Seite geladen, wie kann ich automatisch anmelden?muß man den Aufbau jeder Seite kennen?

Vielen Danke im Voraus für jede Hilfe

Gruß 
Hicham


----------



## Thomas Darimont (28. August 2008)

Hallo,

schau mal hier:
http://www.tutorials.de/forum/java/224720-post-daten-uebertragen-einloggen.html

Gruß Tom


----------



## HichamId (29. August 2008)

Danke für den Hinweis!
Mein Problem liegt dran, daß ich direkt die Seite nach dem automatischen Einlogen auf dem Browser darstellen will.
ich habe die Beiden folgenden Variante probiert, aber bin ich damit nicht weitergekommen:

1)  HttpClient:

WebView web = new WebView(this); 
org.apache.commons.httpclient.URI uri = (org.apache.commons.httpclient.URI)postMethod.getURI(); 
URI urid = URI.create(uri.toString()); 
URL urlF = urid.toURL(); 
String path = urlF.toString(); 
web.loadUrl(path); 
this.setContentView(web); 

2) HttpURLConnection

WebView web = new WebView(this); 
URL url = new URL("www.gmx.de")
HttpURLConnection httpCon = (HttpURLConnection)(url).openConnection();
httpCon.setDoOutput(true);
httpCon.setRequestMethod("POST");
PrintStream out = new PrintStream(httpCon.getOutputStream());
out.print("name=xxxx&pass=yyyy");
out.close();

BufferedReader in = new BufferedReader(new InputStreamReader(httpCon.getInputStream()));
while (in.ready()) { Wie kann man hier den URL extrahieren?       String s = in.readLine();
}

String surl= httpCon.getURL().toString();
web.loadUrl(surl); // mit surl wird nur die http://www.gmx.de dargestellt.
this.setContentView(web);     

Wo finde ich den richtigen URL für die Seite nach dem Einloggen?

Gruß
Hicham


----------



## Leroux (1. September 2008)

Wenn du FF als Browser hast versuch dir mal das Plugin HTTPHeader(Oder so ähnlich) zu installiern dann ihn mitschneidenlassen wenn du dich per Browser(Manuel) einloggst vllt findest du den Link dort.

//EDIT:

Live HTTP Headers http://livehttpheaders.mozdev.org


----------

