Write in body request with HttpClient

前端 未结 2 1670
闹比i
闹比i 2020-12-02 10:24

I want to write the body of a request with XML content-type but I don\'t know how with HttpClient Object ( http://hc.apache.org/httpclient-3.x/apidocs/index.html )



        
相关标签:
2条回答
  • 2020-12-02 11:00

    If your xml is written by java.lang.String you can just using HttpClient in this way

        public void post() throws Exception{
            HttpClient client = new DefaultHttpClient();
            HttpPost post = new HttpPost("http://www.baidu.com");
            String xml = "<xml>xxxx</xml>";
            HttpEntity entity = new ByteArrayEntity(xml.getBytes("UTF-8"));
            post.setEntity(entity);
            HttpResponse response = client.execute(post);
            String result = EntityUtils.toString(response.getEntity());
        }
    

    pay attention to the Exceptions.

    BTW, the example is written by the httpclient version 4.x

    0 讨论(0)
  • 2020-12-02 11:21

    Extending your code (assuming that the XML you want to send is in xmlString) :

    String xmlString = "</xml>";
    DefaultHttpClient httpClient = new DefaultHttpClient();
    HttpPost httpRequest = new HttpPost(this.url);
    httpRequest.setHeader("Content-Type", "application/xml");
    StringEntity xmlEntity = new StringEntity(xmlString);
    httpRequest.setEntity(xmlEntity );
    HttpResponse httpresponse = httpclient.execute(httppost);
    
    0 讨论(0)
提交回复
热议问题