JAVA利用HttpClient进行POST请求(HTTPS)
2017-04-20 00:00
351 查看
JAVA利用HttpClient进行POST请求(HTTPS)
下面代码在 jeecg框架里面测试通过了,需要导入的包,请自行补充
下面代码在 jeecg框架里面测试通过了,需要导入的包,请自行补充
package net.leeyi.util; import net.sf.json.JSONObject; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpMethod; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.log4j.Logger; import java.util.Arrays; import java.net.URL; import java.io.IOException; public class JhttpClient { private static final Logger logger = Logger.getLogger(JhttpClient.class); public static JSONObject get(String url, String path, NameValuePair[] params) { return request(url, path, params, "get"); } public static JSONObject post(String url, String path, NameValuePair[] params) { return request(url, path, params, "post"); } private static JSONObject request(String url, String path, NameValuePair[] params, String type) { JSONObject jsonObject = new JSONObject(); try { URL urlObj = new URL(url); String protocol = urlObj.getProtocol(); String host = urlObj.getHost(); Integer port = urlObj.getPort(); String urlpath = urlObj.getPath().replaceAll("//", ""); if (protocol.equals("https") && port.equals(-1)) { port = 443; } else if (protocol.equals("http") && port.equals(-1)) { port = 80; } // 处理path Integer urlpath_len = urlpath.length(); if (urlpath_len>0 && urlpath.substring(urlpath_len-1, urlpath_len).equals("/")) { urlpath = urlpath.substring(0, urlpath_len-1); } if (urlpath_len>1) { path = urlpath + path; } // System.out.println(protocol); // System.out.println(host); // System.out.println(port); // System.out.println(path); try { HttpClient httpClient = new HttpClient(); httpClient.getHostConfiguration().setHost(host, port, protocol); HttpMethod method; String response; switch (type.toLowerCase()) { case "get": method = getMethod(path, params); httpClient.executeMethod(method); response = method.getResponseBodyAsString(); jsonObject = JSONObject.fromObject(response); break; case "post": method = postMethod(path, params); httpClient.executeMethod(method); response = method.getResponseBodyAsString(); //System.out.println(response); logger.info("This is post debug message."); logger.info(response); jsonObject = JSONObject.fromObject(response); break; default: jsonObject.put("status", 500); jsonObject.put("message", "非法URL"); break; } return jsonObject; } catch (IOException e) { e.printStackTrace(); } } catch (Exception e) { System.out.println("Exception"); System.out.println(e); jsonObject.put("message", e); } jsonObject.put("status", 500); return jsonObject; } private static HttpMethod getMethod(String url, NameValuePair[] params) throws IOException{ String param_str = ""; for(NameValuePair kv: params) { param_str += kv.getName()+"="+kv.getValue()+"&"; } GetMethod get = new GetMethod(url+"?"+param_str); get.releaseConnection(); return get; } private static HttpMethod postMethod(String url,NameValuePair[] params) throws IOException{ PostMethod post = new PostMethod(url); post.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8"); post.setRequestBody(params); post.releaseConnection(); return post; } public static void main(String[] args,NameValuePair[] param) { NameValuePair[] param JSONObject response = post("https://api.leeyi.net","/malls/user_balance"); System.out.println(response.get("data")); } }
相关文章推荐
- JAVA利用HttpClient进行POST请求(HTTPS)
- JAVA利用HttpClient进行POST请求(HTTPS)
- JAVA利用HttpClient进行POST请求(HTTPS)
- JAVA利用HttpClient进行POST请求(HTTPS)
- JAVA利用HttpClient进行POST请求(HTTPS)
- JAVA利用HttpClient进行POST请求(HTTPS)
- JAVA利用HttpClient进行POST请求(HTTPS)实例
- JAVA利用HttpClient进行POST请求(HTTPS)
- JAVA利用HttpClient进行POST请求(HTTPS)
- JAVA利用HttpClient进行POST请求(HTTPS)
- JAVA利用HttpClient进行POST请求(HTTPS)
- JAVA利用HttpClient进行POST请求(HTTPS)
- JAVA利用HttpClient进行POST请求(HTTPS)
- 0157 JAVA利用HttpClient进行POST请求(HTTPS)
- JAVA利用HttpClient进行POST请求(HTTPS)
- 【HttpClient】JAVA利用HttpClient进行POST和GET请求(HTTPS)
- JAVA利用HttpClient进行POST请求(HTTPS)
- JAVA利用HttpClient进行POST请求(HTTPS)
- JAVA利用HttpClient进行POST请求(HTTPS)
- JAVA利用HttpClient进行POST和GET请求(HTTPS)