Android: Comment ouvrir une session dans la page web de la programmation, à l'aide de HttpsURLConnection

Je suis nouveau sur Android (et en Java), donc désolé si mon problème est une idée de base!
Je dois écrire une application Android, qui signe dans un aspx page web en arrière-plan, d'obtenir des données à partir d'elle, et après que les journaux formulaire de la page web. (et de faire que tous les par programme)

Bref, la procédure aime se e-mail-liste à partir de Gmail:

1. aller à "https://mail.google.com' et les signes d'

2. cliquez sur la rubrique "Contacts" (== aller à "https://mail.google.com/mail/?shva=1&zx=dzi4xmuko5nz#contacts")

3. télécharger la page à l'aide de HttpsURLConnection (ou quelque chose de ce genre), et d'obtenir des e-mails en un (par exemple, une Carte ou une Chaîne) objet

4. cliquez sur le lien "Sign out"

J'espère, c'est compréhensible. En regardant sur internet, j'ai trouver la solution pour que la "extraction de la partie", ce qui n'est pas un problème. Mais je n'ai pas la moindre idée de la "en cliquant sur la partie".

  ......
    //Get the connection
    URL myurl = new URL("https://mail.google.com");
    HttpsURLConnection con = (HttpsURLConnection) myurl.openConnection();

    //complete the fields
    con.setRequestProperty("Email","myacc");
    con.setRequestProperty("Passwd","mypass");

    /* 
     * in this part, should make sign in, and go directly to contacts... 
     * I don't have any idea how to do it...
     */

    //for the present, just write out the data
    InputStream ins = con.getInputStream();
    BufferedReader in = new BufferedReader(new InputStreamReader(ins));

    String inputLine;
    while ((inputLine = in.readLine()) != null) {
        Log.d("Page:"," "+inputLine);
    }

    in.close();

    /*
     * And here should be the "Sign out" part
     */
  ......

Toute aide serait super, Merci pour elle!
(et désolé, si mon anglais n'est pas si bien...)

EDIT: problème résolu. Merci!!!!

 .......    
String GMAIL_CONTACTS = "https://mail.google.com/mail/?shva=1#contacts";
String GMAIL_LOGIN = "https://mail.google.com";
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(GMAIL_LOGIN);
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);
nameValuePairs.add(new BasicNameValuePair("Email", MY_ACC));
nameValuePairs.add(new BasicNameValuePair("Passwd", MY_PASS));
nameValuePairs.add(new BasicNameValuePair("signIn", "Sign In"));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
//Execute HTTP Post Request 
HttpResponse response = httpClient.execute(httpPost);
Log.d(TAG, "response stat code " + response.getStatusLine().getStatusCode());
if (response.getStatusLine().getStatusCode() < 400) {
String cookie = response.getFirstHeader("Set-Cookie")
.getValue();
Log.d(TAG, "cookie: " + cookie);
//get the contacts page 
HttpGet getContacts = new HttpGet(GMAIL_CONTACTS);
getContacts.setHeader("Cookie", cookie);
response = httpClient.execute(getContacts);
InputStream ins = response.getEntity().getContent();
BufferedReader in = new BufferedReader(new InputStreamReader(
ins));
String inputLine;
while ((inputLine = in.readLine()) != null) {
Log.d(TAG, " " + inputLine);
}
in.close();
} else {
Log.d(TAG, "Response error: "
+ response.getStatusLine().getStatusCode());
}
.......

OriginalL'auteur Lama | 2011-08-24