2012-03-24 19 views
4

私は通常Apache HttpClientを使用してXML 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データを、任意のログインベースのPOSTのための次のようなメカニズムで動作し、次のようなフォーマットのHTTP POSTを行いたい

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

のようになります

username=stackoverflow&password=12345 

私は上記の指定されたXML形式でどのようにフォーマットできますか?

ありがとうございます。

答えて

5

別の種類のHttpEntityを使用してください。 the documentationの先頭に多数の実装があります。

+0

Thanks McDowell :) – Dinesh

+0

単一の実装ではなくすべての実装を示すページにリンクしてくれてありがとう! –

関連する問題