HttpTest Http测试工具类

为了方便测试Http POST请求返回信息,简单封装下面的类
package demo;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

public class HttpTest {
	
	public static String httpRequest(Map<String, String> dataMap, String url){
		System.out.println("发送http请求开始");
		DefaultHttpClient httpclient = new DefaultHttpClient();
		
		try {
			List<NameValuePair> formparams = new ArrayList<NameValuePair>();
			if(dataMap == null) {
				dataMap = new TreeMap<String, String>();
			}
	        Iterator<String> it = dataMap.keySet().iterator(); 
	        while(it.hasNext()){
	        	String mapKey = it.next();
	        	System.out.println(dataMap.get(mapKey));
	        	formparams.add(new BasicNameValuePair(mapKey, dataMap.get(mapKey)));
	        }
			UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "utf-8");
			HttpPost post = new HttpPost(url);
			post.setEntity(entity);
			HttpResponse response = httpclient.execute(post);
			
			if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
				String s = EntityUtils.toString(response.getEntity(),"utf-8");
				System.out.println(s);
				System.out.println("请求正常,结束http请求");
				return s;
			}
		} catch (Exception e) {
			System.out.println("请求发生异常,异常信息抛出");
			e.printStackTrace();
		} finally {
			httpclient.getConnectionManager().shutdown();
		}
		return null;
	}

	public static void main(String[] args) {
		Map<String, String> dataMap = new TreeMap<String, String>(); 
		
		String server = "http://ip:port/projectName/";
		String url = null;
		
		
		dataMap.put("para", "{'date':'2012-09-24'}");
		url = server + "/xxx.do";
		httpRequest(dataMap, url);
		
	}

}

猜你喜欢

转载自yzhw.iteye.com/blog/1687449