java调用HttpPost,HttpGet调用示例
来源:互联网 发布:linux中文语言包 编辑:程序博客网 时间:2024/05/16 14:37
用途:
本文演示如何使用java调用 HttpPost,HttpGet类,并进行简单封装。
PS:添加了上下文支持,用于存储cookie信息,保证http访问连贯性。
代码
HttpUtil.java
import java.io.IOException;import net.sf.json.JSONObject;import org.apache.http.Consts;import org.apache.http.HttpEntity;import org.apache.http.ParseException;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.client.protocol.HttpClientContext;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.util.EntityUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class HttpUtil { private static Logger logger = LoggerFactory.getLogger(HttpUtil.class); private static HttpClientContext context = null; private static HttpClientContext getContext() { if (context == null) context = HttpClientContext.create(); return context; } public static String post(String url, JSONObject jo) { logger.info("req:" + url); logger.info("param:" + jo); StringEntity reqEntity = new StringEntity(jo.toString(), Consts.UTF_8); reqEntity.setContentType("application/json"); HttpPost httppost = new HttpPost(url); httppost.setEntity(reqEntity); CloseableHttpClient client = HttpClients.createDefault(); String result = null; try { CloseableHttpResponse res = client.execute(httppost, getContext()); if (res.getStatusLine().getStatusCode() == 200) { HttpEntity resEntity = res.getEntity(); if (resEntity != null) { result = EntityUtils.toString(resEntity, Consts.UTF_8); logger.info("res:" + result); } } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return result; } public static String get(String url) { CloseableHttpClient client = HttpClients.createDefault(); HttpGet httpget = new HttpGet(url); CloseableHttpResponse res = null; String result = null; try { res = client.execute(httpget, getContext()); if (res.getStatusLine().getStatusCode() == 200) { HttpEntity entity = res.getEntity(); if (entity != null) { result = EntityUtils.toString(entity, Consts.UTF_8); logger.info(result); } } } catch (ParseException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return result; }}
HttpUtilTest.java
@Test public void testHttpGet() { String url = "http://www.baidu.com"; HttpUtil.get(url); } @Test public void testHttpPost() { JSONObject jo = new JSONObject(); jo.put("param1", "value1"); jo.put("param2", "value2"); HttpUtil.post(getUrl(), jo); }
阅读全文
0 0
- java调用HttpPost,HttpGet调用示例
- JAVA 调用HTTPPOST请求
- java HttpGet HttpPost区别
- httpPost/httpGet接口调用werService接口,客户端写法
- java 实现 httppost 和 httpget
- httppost httpget httpclient调用接口以及main方法直接调用API接口
- HttpGet HttpPost
- Java的HttpClient、HttpGet和HttpPost请求
- httpget及httppost
- HttpGet和HttpPost
- android之HttpPost&HttpGet
- HttpGet和HttpPost
- httpGET和httpPOST
- Android:HttpGet与HttpPost
- HttpGet/HttpPost/HttpClient介绍
- HttpPost和HttpGet解析
- HttpGet与HttpPost区别
- java调用数据库示例
- UML 类图使用说明
- 【菜鸟的leetcode之旅】String to integer atoi
- JavaScript基础之JQuery的扩展
- 虚拟机上网问题解决
- Docker使用: 一 前篇 debian安装
- java调用HttpPost,HttpGet调用示例
- CGI、FastCGI和PHP-FPM关系图解
- ArcGIS oracle空间数据库的备份,导入
- Hql参数占位符使用
- 利用node简单的搭建线上服务器
- JAVA利用第三方平台发送短信验证码。(转发用来学习)
- ERROR 1064 (42000):You have an error in your SQL syntax; check the manual that corresponds to your M
- 基础总结:关于Android架构
- Android渐变色制作