国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Java > 正文

java使用common-httpclient包實現(xiàn)post請求方法示例

2024-07-14 08:41:59
字體:
供稿:網(wǎng)友

前言

項目中需要請求第三方接口,而且要求請求參數(shù)數(shù)據(jù)為json類型的。本來首先使用的是httpclient的jar包,但是因為項目中已經(jīng)使用了common-httpclient的jar包,引起了沖突,所以不得不使用common-httpclient來實現(xiàn)。

示例代碼:

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("請求接口參數(shù):" + 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轉(zhuǎn)換為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();  } }}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網(wǎng)的支持。


注:相關(guān)教程知識閱讀請移步到JAVA教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 溧水县| 内江市| 开化县| 永城市| 莱阳市| 元谋县| 临邑县| 定襄县| 道孚县| 安新县| 菏泽市| 甘南县| 尼木县| 文水县| 灵丘县| 中卫市| 阿坝| 融水| 秭归县| 益阳市| 泰和县| 宽甸| 景谷| 孙吴县| 丰顺县| 塘沽区| 徐汇区| 敦化市| 肇源县| 三亚市| 广元市| 惠水县| 惠东县| 始兴县| 宜章县| 台中市| 临桂县| 富裕县| 安康市| 江都市| 杭锦后旗|