首页| 新闻| 娱乐| 游戏| 科普| 文学| 编程| 系统| 数据库| 建站| 学院| 产品| 网管| 维修| 办公| 热点
前言
项目中需要请求第三方接口,而且要求请求参数数据为json类型的。本来首先使用的是httpclient的jar包,但是因为项目中已经使用了common-httpclient的jar包,引起了冲突,所以不得不使用common-httpclient来实现。
示例代码:
import java.io.BufferedReader;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;import java.util.List;import java.util.Map;import java.util.zip.GZIPInputStream;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.commons.httpclient.methods.RequestEntity;import org.apache.commons.httpclient.methods.StringRequestEntity;import org.apache.commons.io.IOUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class HTTPUtils { private static Logger logger = LoggerFactory.getLogger(HTTPUtils.class); /** * post请求 * @param url * @param json * @return */ public static String postJosnContent(String url, String Json) throws Exception {// HttpPost method = new HttpPost(url); // DefaultHttpClient httpClient = new DefaultHttpClient(); // String ret = null;// try {// StringEntity entity = new StringEntity(Json,"UTF-8");//解决中文乱码问题 // entity.setContentEncoding("UTF-8"); // entity.setContentType("application/json");// method.setEntity(entity); // HttpResponse result = httpClient.execute(method); // ret = EntityUtils.toString(result.getEntity()); // } catch (Exception e) {// throw e;// } finally {// method.releaseConnection();// }// return ret; logger.error("请求接口参数:" + Json); PostMethod method = new PostMethod(url); HttpClient httpClient = new HttpClient(); try { RequestEntity entity = new StringRequestEntity(Json,"application/json","UTF-8"); method.setRequestEntity(entity); httpClient.executeMethod(method); logger.error("请求接口路径url:" + method.getURI().toString()); InputStream in = method.getResponseBodyAsStream(); //下面将stream转换为String StringBuffer sb = new StringBuffer(); InputStreamReader isr = new InputStreamReader(in, "UTF-8"); char[] b = new char[4096]; for(int n; (n = isr.read(b)) != -1;) { sb.append(new String(b, 0, n)); } String returnStr = sb.toString(); return returnStr; } catch (Exception e) { e.printStackTrace(); throw e; } finally { method.releaseConnection(); } }}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对VeVb武林网的支持。
练就火眼金睛 十一种常见电脑
打印机共享提示“操作无法完成
如何查找有故障的配件
回眸一笑百魅生,六宫粉黛无颜色
岁月静美,剪一影烟雨江南
芜湖有个“松鼠小镇”
小满:小得盈满,一切刚刚好!
一串串晶莹剔透的葡萄,像一颗颗宝石挂在藤
正宗老北京脆皮烤鸭
人逢知己千杯少,喝酒搞笑图集
搞笑试卷,学生恶搞答题
新闻热点
疑难解答
图片精选
Kotlin结合Rxjava+Retrofit实现极
Kotlin与Java的主客观对比分析
Kotlin特性介绍及与Java 和 C#的简
Kotlin与Java哪个好?Kotlin与Java的
网友关注