| package cc.mrbird.febs.pay.util; | 
| import org.apache.commons.httpclient.HttpClient; | 
| import org.apache.commons.httpclient.methods.InputStreamRequestEntity; | 
| import org.apache.commons.httpclient.methods.PostMethod; | 
| import org.apache.commons.httpclient.methods.RequestEntity; | 
|   | 
| import java.io.ByteArrayInputStream; | 
| import java.io.ByteArrayOutputStream; | 
| import java.io.IOException; | 
| import java.io.InputStream; | 
| import java.util.Vector; | 
|   | 
|   | 
| public class HttpRespons { | 
|       String urlString;      | 
|        | 
|         int defaultPort;      | 
|            | 
|         String file;      | 
|            | 
|         String host;      | 
|            | 
|         String path;      | 
|            | 
|         int port;      | 
|            | 
|         String protocol;      | 
|            | 
|         String query;      | 
|            | 
|         String ref;      | 
|            | 
|         String userInfo;      | 
|            | 
|         String contentEncoding;      | 
|            | 
|         String content;      | 
|            | 
|         String contentType;      | 
|            | 
|         int code;      | 
|            | 
|         String message;      | 
|            | 
|         String method;      | 
|            | 
|         int connectTimeout;      | 
|            | 
|         int readTimeout;      | 
|            | 
|         Vector<String> contentCollection;      | 
|            | 
|         public String getContent() {      | 
|             return content;      | 
|         }      | 
|            | 
|         public String getContentType() {      | 
|             return contentType;      | 
|         }      | 
|            | 
|         public int getCode() {      | 
|             return code;      | 
|         }      | 
|            | 
|         public String getMessage() {      | 
|             return message;      | 
|         }      | 
|            | 
|         public Vector<String> getContentCollection() {      | 
|             return contentCollection;      | 
|         }      | 
|            | 
|         public String getContentEncoding() {      | 
|             return contentEncoding;      | 
|         }      | 
|            | 
|         public String getMethod() {      | 
|             return method;      | 
|         }      | 
|            | 
|         public int getConnectTimeout() {      | 
|             return connectTimeout;      | 
|         }      | 
|            | 
|         public int getReadTimeout() {      | 
|             return readTimeout;      | 
|         }      | 
|            | 
|         public String getUrlString() {      | 
|             return urlString;      | 
|         }      | 
|            | 
|         public int getDefaultPort() {      | 
|             return defaultPort;      | 
|         }      | 
|            | 
|         public String getFile() {      | 
|             return file;      | 
|         }      | 
|            | 
|         public String getHost() {      | 
|             return host;      | 
|         }      | 
|            | 
|         public String getPath() {      | 
|             return path;      | 
|         }      | 
|            | 
|         public int getPort() {      | 
|             return port;      | 
|         }      | 
|            | 
|         public String getProtocol() {      | 
|             return protocol;      | 
|         }      | 
|            | 
|         public String getQuery() {      | 
|             return query;      | 
|         }      | 
|            | 
|         public String getRef() {      | 
|             return ref;      | 
|         }      | 
|            | 
|         public String getUserInfo() {      | 
|             return userInfo;      | 
|         }  | 
|          | 
|          | 
|         public static String post(String params,String requestUrl) throws IOException {   | 
|             // TODO Auto-generated method stub   | 
| //            try {        | 
|                //HttpRequester request = new HttpRequester();   | 
|                // request.setDefaultContentEncoding("utf-8");      | 
|                 byte[] requestBytes = params.getBytes("utf-8"); // 将参数转为二进制流 | 
|                        HttpClient httpClient = new HttpClient(); // 客户端实例化 | 
|                        PostMethod postMethod = new PostMethod(requestUrl); | 
|                        //设置请求头Authorization | 
| //                       postMethod.setRequestHeader("Authorization", "Basic " + authorization); | 
|                        // 设置请求头  Content-Type | 
|                        postMethod.setRequestHeader("Content-Type", "application/json"); | 
|                        InputStream inputStream = new ByteArrayInputStream(requestBytes, 0,requestBytes.length); | 
|                        RequestEntity requestEntity = new InputStreamRequestEntity(inputStream, | 
|                                  requestBytes.length, "application/json; charset=utf-8"); // 请求体 | 
|                        postMethod.setRequestEntity(requestEntity); | 
|                        httpClient.executeMethod(postMethod);// 执行请求 | 
|                        InputStream soapResponseStream = postMethod.getResponseBodyAsStream();// 获取返回的流 | 
|                        byte[] datas = null; | 
|                         try { | 
|                             datas = readInputStream(soapResponseStream);// 从输入流中读取数据 | 
|                         } catch (Exception e) { | 
|                             e.printStackTrace(); | 
|                          } | 
|                         String result = new String(datas, "UTF-8");// 将二进制流转为String | 
|                          // 打印返回结果 | 
|                          // System.out.println(result); | 
|                   | 
|                          return result;    | 
|         }   | 
|          | 
|          | 
|         /** | 
|               * 从输入流中读取数据 | 
|               *  | 
|               * @param inStream | 
|               * @return | 
|               * @throws Exception | 
|         */ | 
|         public static byte[] readInputStream(InputStream inStream) throws Exception { | 
|                      ByteArrayOutputStream outStream = new ByteArrayOutputStream(); | 
|                      byte[] buffer = new byte[1024]; | 
|                      int len = 0; | 
|                      while ((len = inStream.read(buffer)) != -1) { | 
|                         outStream.write(buffer, 0, len); | 
|                      } | 
|                      byte[] data = outStream.toByteArray(); | 
|                      outStream.close(); | 
|                      inStream.close(); | 
|                     return data; | 
|                  } | 
| } |