| package cn.emay.sdk.util.http.request; | 
|   | 
| import java.util.Map; | 
|   | 
| /** | 
|  * Http请求实体 | 
|  *  | 
|  * @author Frank | 
|  * | 
|  * @param <T> | 
|  *            传输数据类型 | 
|  */ | 
| public abstract class EmayHttpRequest<T extends Object> { | 
|   | 
|     private String url;// URL | 
|     private String charSet = "UTF-8";// 编码 | 
|     private String method = "GET";// Http方法 | 
|     private Map<String, String> headers;// 头信息 | 
|     private String cookies;// cookie信息 | 
|     private T params;// 传输数据 | 
|   | 
|     /** | 
|      *  | 
|      * @param url | 
|      *            URL | 
|      * @param charSet | 
|      *            编码 | 
|      * @param method | 
|      *            Http方法 | 
|      * @param headers | 
|      *            头信息 | 
|      * @param cookies | 
|      *            cookie信息 | 
|      * @param params | 
|      *            传输数据 | 
|      */ | 
|     public EmayHttpRequest(String url, String charSet, String method, Map<String, String> headers, String cookies, T params) { | 
|         if (url != null) { | 
|             this.url = url.trim(); | 
|         } | 
|         if (charSet != null) { | 
|             this.charSet = charSet; | 
|         } | 
|         if (method != null) { | 
|             this.method = method; | 
|         } | 
|         this.headers = headers; | 
|         this.cookies = cookies; | 
|         this.params = params; | 
|         this.fillGetUrl(); | 
|     } | 
|   | 
|     /** | 
|      * 将传输数据转换为byte[]类型 | 
|      *  | 
|      * @return | 
|      */ | 
|     public abstract byte[] paramsToBytesForPost(); | 
|   | 
|     /** | 
|      * 将传输数据转换为String类型 | 
|      *  | 
|      * @return | 
|      */ | 
|     public abstract String paramsToStringForGet(); | 
|   | 
|     /** | 
|      * 是否https请求 | 
|      *  | 
|      * @return | 
|      */ | 
|     public boolean isHttps() { | 
|         if (url == null) { | 
|             return false; | 
|         } | 
|         if (url.startsWith("https")) { | 
|             return true; | 
|         } | 
|         return false; | 
|     } | 
|   | 
|     /** | 
|      * 构建GET URL | 
|      */ | 
|     private void fillGetUrl() { | 
|         if (url == null || params == null) { | 
|             return; | 
|         } | 
|         if (this.getMethod().equalsIgnoreCase("GET")) { | 
|             String getprams = this.paramsToStringForGet(); | 
|             if (url.indexOf("?") > 0) { | 
|                 url = url + "&" + getprams; | 
|             } else { | 
|                 url = url + "?" + getprams; | 
|             } | 
|         } | 
|     } | 
|   | 
|     public String getUrl() { | 
|         return url; | 
|     } | 
|   | 
|     public void setUrl(String url) { | 
|         this.url = url; | 
|     } | 
|   | 
|     public String getCharSet() { | 
|         return charSet; | 
|     } | 
|   | 
|     public void setCharSet(String charSet) { | 
|         this.charSet = charSet; | 
|     } | 
|   | 
|     public String getMethod() { | 
|         return method; | 
|     } | 
|   | 
|     public void setMethod(String method) { | 
|         this.method = method; | 
|     } | 
|   | 
|     public Map<String, String> getHeaders() { | 
|         return headers; | 
|     } | 
|   | 
|     public void setHeaders(Map<String, String> headers) { | 
|         this.headers = headers; | 
|     } | 
|   | 
|     public String getCookies() { | 
|         return cookies; | 
|     } | 
|   | 
|     public void setCookies(String cookies) { | 
|         this.cookies = cookies; | 
|     } | 
|   | 
|     public T getParams() { | 
|         return params; | 
|     } | 
|   | 
|     public void setParams(T params) { | 
|         this.params = params; | 
|     } | 
|   | 
| } |