如何在android中发送http请求?

时间:2012-11-07 09:25:16

标签: java android

我希望将以下请求格式发送到其余的webservice我该怎么办?

<?xml version="1.0" encoding="UTF-8"?>
<demo>
<headers>
  <messagetype>1</messagetype>
  <messagetoken>123647356734156</messagetoken>
</headers>
<authentication>
  <name>xxx</name>
  <servicename>yyy</servicename>
  <username>10121</username>
  <password>welcome1234</password>
</authentication>
</demo>

2 个答案:

答案 0 :(得分:1)

最简单的方法是创建一个包含XML请求值的字符串。例如,您可以将此XML字符串请求值传递给以下函数以从服务器获取响应。

仅供参考,您可以通过在HTTPPost的对象内设置实体值来传递请求,以下示例中的方式相同。您也可以通过这种方式传递JSON请求值。

例如:

public HttpResponse postData(String strXML) {
    // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("web service URL");

    try {
        StringEntity strEntity = new StringEntity(strXML,HTTP.UTF_8);
        strEntity.setContentType("text/xml");  
        httppost.setHeader("Content-Type","application/soap+xml;charset=UTF-8");
        httppost.setEntity(strEntity);  // here you can set request value.

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);
        return response;
    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }

    return null;
} 

答案 1 :(得分:0)

尝试reslet http://www.restlet.org/他们也有一个Android版本。