读书人

Http工具种

发布时间: 2012-09-04 14:19:30 作者: rapoo

Http工具类

public class HttpUtil{    static Properties prop = System.getProperties();static{try{Properties prop = System.getProperties();InputStream in = HttpUtil.class.getClassLoader().getResourceAsStream("util.properties");prop.load(in);}catch (IOException e){e.printStackTrace();}}public static String get(String url){String response = null;Map<String, String> result = new HashMap<String, String>();HttpClient client = new HttpClient();String serverurl = prop.getProperty("http.serverurl");GetMethod method = new GetMethod(serverurl + url);try{// 执行方法返回状态码int statusCode = client.executeMethod(method);// 返回的信息response = method.getResponseBodyAsString();result.put("statuscode", Integer.toString(statusCode));result.put("response", response);System.out.println(response);}catch (HttpException e){e.printStackTrace();}catch (IOException e){e.printStackTrace();}finally{// 无论响应与否都要关闭连接method.releaseConnection();}return response;}public static String post(String url, Map<String, Object> data){Map<String, Object> ret = new HashMap<String, Object>();String response = null;HttpClient client = new HttpClient();String serverurl = prop.getProperty("http.serverurl");PostMethod method = new PostMethod(serverurl + url);method.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");try{// 设置参数for (Map.Entry<String, Object> entry : data.entrySet()){method.addParameter(new NameValuePair(entry.getKey(), String.valueOf(entry.getValue())));}// 执行方法返回状态码int statusCode = client.executeMethod(method);// 返回的信息response = method.getResponseBodyAsString();ret.put("statuscode", statusCode);ret.put("response", response);}catch (HttpException e){e.printStackTrace();}catch (IOException e){e.printStackTrace();}finally{// 无论响应与否都要关闭连接method.releaseConnection();}return response;}public static Map<String, Object> post(String url, String xml){Map<String, Object> result = new HashMap<String, Object>();HttpClient client = new HttpClient();String serverurl = prop.getProperty("http.serverurl");PostMethod method = new PostMethod(serverurl + url);method.setRequestHeader("Content-type", "text/xml; charset=UTF-8");try{RequestEntity entity = new StringRequestEntity(xml, "text/xml","iso-8859-1");method.setRequestEntity(entity);// 执行方法返回状态码int statusCode = client.executeMethod(method);result.put("statuscode", Integer.toString(statusCode));// 若是转发301、302if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY|| statusCode == HttpStatus.SC_MOVED_TEMPORARILY){// 从头中取出转向的地址Header locationHeader = method.getResponseHeader("location");String location = locationHeader.getValue();result.put("redirect", location);}else{// 返回的信息result.put("response", method.getResponseBodyAsString());}}catch (HttpException e){e.printStackTrace();}catch (IOException e){e.printStackTrace();}finally{// 无论响应与否都要关闭连接method.releaseConnection();}return result;}}

?

读书人网 >软件架构设计

热点推荐