8

Androidアプリケーションのログインスクリプトを作成しようとしています。このスクリプトは、メールアドレスとパスワードをPHPサーバーに送信し、ログインを確認してから、ユーザーがログインしたままになるようにPHPセッションを作成します。これが私のコードです。

HttpPost httppost = new HttpPost("http://server.com/login.php");
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();

public String login() {

    String userID = "";

    try {
        // Add your data
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
        nameValuePairs.add(new BasicNameValuePair("email", "e@e.com"));
        nameValuePairs.add(new BasicNameValuePair("password", "admin"));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);

        userID = EntityUtils.toString(response.getEntity());
        //Log.v("Login response", "" + userID);



    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }

    return userID;
} 

このスクリプトはサーバーにデータを正常に送信し、PHPはユーザーを正常にログオンします。「HttpClienthttpclient=new DefaultHttpClient();」を配置しました 私のメインのログイン方法の外。これは、別のクラスを呼び出すまでセッションを保存するのに役立ち、その後、セッションを再度リセットするだけです。そのため、「httpclient」が何らかの形で保存されるようにコードを変更して、セッションを維持し、サーバーにログインしたままにする方法を考えています。ありがとうございました!

4

2 に答える 2

4

AndroidHttpはセッションCookieを取得します

CookieセッションIDを取得し、サーバーへの次のリクエストでそのCookieを使用します。

于 2012-07-29T23:56:07.577 に答える