0

問題が 1 つあります。Android デバイスから Web サイトにログインしたいのです。これについて多くのサンプルを見てきましたが、うまくいきません。これは私のコードです:

    DefaultHttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://www.example.com/login.php");
    httppost.setHeader("Content-Type","text/html");
    ArrayList<BasicNameValuePair> pairs = new ArrayList();
    pairs.add(new BasicNameValuePair("username", "test1"));
    pairs.add(new BasicNameValuePair("password", "pass1"));
    try {
        UrlEncodedFormEntity p_entity = new UrlEncodedFormEntity(pairs, HTTP.UTF_8);

        /** Assign the POST data to the entity */
        httppost.setEntity(p_entity);

        /** Perform the actual HTTP POST */
        HttpResponse response = httpclient.execute(httppost);

        TextView txtView = (TextView)findViewById(R.id.txtMessage);
        txtView.setText(EntityUtils.toString(response.getEntity()));

    } catch (UnsupportedEncodingException uee) {
        uee.printStackTrace();
    } catch (IOException ioe) {
        ioe.printStackTrace();
    }

new BasicNameValuePair("username", "test1") がわかりません。ここでの属性とは何ですか ???

<input type="text" name="username" size="25" maxlength="40" value="" class="post" id="autofocus" tabindex="1"/>

<input type="password" name="password" size="25" maxlength="32" class="post" tabindex="2"/>

ログインページを返すだけです。パラメータを login に渡しません。助言がありますか ?

4

2 に答える 2

0

HTML ページのソース コードを確認し、次のセクション (例) を見つけます。

<form name="frm" method="post" action="/cgi-bin/websms/index.pl" onSubmit="return validate()">

フォームの action="..." セクションに従って、プログラムの URL を更新します。

于 2013-02-26T18:30:11.080 に答える
0

test1はユーザー名でpass1あり、パスワードです。

edittexts からユーザー名とパスワードを取得している場合は、このコードを使用します

pairs.add(new BasicNameValuePair("username", ed_user.getText().toString()));
pairs.add(new BasicNameValuePair("password", ed_pass.getText().toString()));

ed_userあなたの編集テキストはどこed_passですか

于 2013-01-23T03:52:25.177 に答える