4

次の形式のHTTPPOSTを実行したいのですが、

<?xml version="1.0" encoding="UTF-8" ?>
<authRequest>
 <username>someusernamehere</username>
 <password>somepasswordhere</password>
</authRequest>

私は通常、ログインベースのPOSTに対して次のメカニズムを使用します。

HttpParams params = new BasicHttpParams();
        params.setParameter(
                "http.useragent",
                "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2) Gecko/20100115 Firefox/3.6");
        DefaultHttpClient httpclient = new DefaultHttpClient(params);

        HttpPost httppost = new HttpPost("http://mysite.com/login");
        List<NameValuePair> formparams = new ArrayList<NameValuePair>();
        formparams.add(new BasicNameValuePair("username", "stackoverflow"));
        formparams.add(new BasicNameValuePair("password", "12345"));
        UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8");
        httppost.setEntity(entity);
        HttpResponse httpresponse = httpclient.execute(httppost);

しかし、このようにすると、POSTデータは次のようになります。

username=stackoverflow&password=12345

上記で指定したXML形式に従ってこのリクエストをフォーマットするにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

5

別の種類のを使用してくださいHttpEntityドキュメントの上部にリストされている実装がいくつかあります。

于 2012-03-24T11:27:00.200 に答える