码迷,mamicode.com
首页 > 编程语言 > 详细

SpringMVC template和HttpClient post提交

时间:2015-07-23 19:53:55      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:springmvc   resttempla   httpclient   post   

服务器的接口如果是springmvc,客户端除了用springmvc提供的RestTemplate请求,如下:

public class RestClient {

    private static Logger logger = Logger.getLogger(RestClient.class);

    @SuppressWarnings({ "rawtypes", "unchecked" })
    public static Object post(String url, Map<String, Object> message) {
        Object result = null;
        try {
            RestTemplate rest = new RestTemplate();
            MultiValueMap<String, Object> param = new LinkedMultiValueMap();
            for(Entry<String, Object> entry : message.entrySet()) {
                param.add(entry.getKey(), entry.getValue());
            }
            result = rest.postForObject(url, param, String.class);
        } catch (Exception e) {
            logger.error("发送消息发生异常"+e);
        }
        return result;
    }
}

还可以用httpclient发送请求,如下:

package com.ckdh.web.test;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;

public class DownloadResourcesTest {

    public static void main(String[] args) {
        String url = "http://localhost:8080/xxx-web/xxx.mvc?apikey=1";
        HttpClient client = new DefaultHttpClient();  
        HttpPost httpPost = new HttpPost(url); 
        InputStream is = null;
        InputStreamReader isr = null;
        BufferedReader br = null;
        try {
            httpPost.addHeader("city", "010");
            httpPost.addHeader("version", "2");
            HttpEntity entity = new StringEntity("<infos><info spid=\"188\" hash=\"4a0fd9704eb1432892cbc19742811b63\">" +
                    "</info><info spid=\"1601\" hash=\"4e7b8894b8bc4d4eac22dffd85f28a68\"></info></infos>");
            httpPost.setEntity(entity);
            HttpResponse response = client.execute(httpPost);
            System.out.println(response.getStatusLine());
            is = response.getEntity().getContent();
            isr = new InputStreamReader(is, "UTF-8");
            br = new BufferedReader(isr);
            StringBuffer buf = new StringBuffer();
            String line;
            while (null != (line = br.readLine())) {
                buf.append(line).append("\n");
            }
            System.out.println(buf.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

SpringMVC template和HttpClient post提交

标签:springmvc   resttempla   httpclient   post   

原文地址:http://blog.csdn.net/sidongxue2/article/details/47026885

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!