java 利用common-httpclient包來實現post請求
專案中需要請求第三方介面,而且要求請求引數資料為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();
}
}
}
相關推薦
java 利用common-httpclient包來實現post請求
專案中需要請求第三方介面,而且要求請求引數資料為json型別的。本來首先使用的是httpclient的jar包,但是因為專案中已經使用了common-httpclient的jar包,引起了衝突,所以不得不使用common-httpclient來實現。 impo
Java學習之HttpClient的GET與POST請求
create ppa user 構建 依賴 cut nal cdc array 這篇隨筆記錄了HttpClient的GET和POST請求 使用maven構建依賴包,我使用的版本是4.5.3 <dependency> <groupId>org.apa
java apache commons HttpClient傳送get和post請求的學習整理
HttpClient 是我最近想研究的東西,以前想過的一些應用沒能有很好的實現,發現這個開源專案之後就有點眉目了,令人頭痛的cookie問題還是有辦法解決滴。在網上整理了一些東西,寫得很好,寄放在這裡。 HTTP 協議可能是現在 Internet 上使用得最多、最重要
Java使用HttpClient實現Post請求
cut 4.4 session dex exception () http tostring instance http://www.cnblogs.com/mengrennwpu/p/6418114.html *******************************
java實現post請求(PostMethod)
postmethod json項目要求:實現post請求,且請求格式是json格式。maven依賴包<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>ht
java——利用生產者消費者模式思想實現簡易版handler機制
參考教程:http://www.sohu.com/a/237792762_659256 首先介紹每一個類: 1.Message: 這個類的作用是儲存一個生產者生產出來的具體的訊息,就類似連結串列佇列中的一個節點,自行定義需要儲存的內容。 code:訊息要執行的具體動作程式碼 msg:訊息
利用spring的AOP來實現Redis快取
為什麼使用Redis 資料查詢時每次都需要從資料庫查詢資料,資料庫壓力很大,查詢速度慢,因此設定快取層,查詢資料時先從redis中查詢,如果查詢不到,則到資料庫中查詢,然後將資料庫中查詢的資料放到redis中一份,下次查詢時就能直接從redis中查到,不需要查
java利用iText工具包生成PDF
iText是一個非常著名的能夠快速產生PDF檔案的Java類庫。支援文字,表格,圖形的操作,可以方便的跟 Servlet 進行結合 iText的更新變化很大,早期版本在PDF樣式上可能會有瑕疵,所有我使用的最新的5.5.6包 轉載出自:https://my
java HttpClient傳送get和post請求
最近需要用到在A專案裡面發起請求去請求B專案的介面,所以用到了HttpClient,將工具類記錄下,可設定get、post方式,也可以設定session和cookie等header 一、工具類HttpClientUtil package Utils; imp
Java IO操作--壓縮包zip實現工具類
壓縮檔案大致可以分為三種:ZIP、JAR、GZ。 壓縮流 在日常的使用中經常會使用到像WinRAR或WinZIP這樣的壓縮檔案,通過這些軟體可以把一個很大的檔案進行壓縮以方便傳輸。 在JAVA中 為了減少傳輸時的資料量也提供了專門的壓縮流,可以將檔案或資料夾壓縮成ZI
利用htmlunit和jsoup來實現爬取js的動態網頁實踐(執行js)
更新,這就尷尬了,這篇文章部落格閱讀文章最多,但是被踩得也最多。 爬取思路: 所謂動態,就是通過請求後臺,可以動態的改變相應的html頁面,頁面並不是一開始就全部展現出來的。 大部分操作都是通過請求完成的,一次請求,一次返回。而在大多數網頁中請求往往都被開發者隱藏在了js程
java利用jdbc連線Mysql資料庫——實現登入註冊功能
實現功能如下: ①0選中註冊,若使用者名稱相同則註冊失敗,重新選擇 ②若使用者名稱不存在則儲存到資料庫 ③1選中登入,若使用者名稱和密碼符合時,登入成功。 程式碼如下: package com.lucfzy; import java.sql.Connection; imp
安卓開發-利用smart-image-view來實現網路中的圖片在手機上的顯示
1.在專案中匯入smart-image-view的檔案如圖: 2.在activity_main.xml中,引入SmartImageView: <com.loopj.android.im
利用Rocketmq4.2版來實現分散式事務
花了點時間學了RocketMQ,下面是本人的一點點心得,如果覺的寫的好就點個贊,但如果你要借鑑話,我還是勸你看下面參考資料裡的視訊(作者為阿里牛人),雖然他分享的視訊是為了推銷阿里雲的DRDS、ONS(RocketMQ阿里版),只是講了個大概,沒有細說,但是指明一個大的方向,
EXCEL 中利用 INDEX 和match 來實現多條件查詢
1: 先建立一個sheet: 2: 測試:有兩個人叫同一個“胡天”,只是來自不同的省份: 先測試一下match: MATCH(A24&B24,A2:A16&B2:B16,0) 注意是 要 ctrl + shift + enter 一起按下去,才生效。看到
利用SpringMVC的AOP來實現後臺系統的操作日誌記錄
最近在專案中要求把後臺的一些關鍵操作記錄下來,想了好半天能想到的也就那兩三種方式,要麼就是寫一個攔截器,然後再web.xml裡面進行配置,要麼就是就是在每個需要記錄操作日誌的程式碼裡面進行攔截,最後我選擇了第三種,也就是基於AOP的攔截,用這種方式,只需要在需記
cocos2dx 利用遮罩層來實現地圖的簡單尋路
談到地圖不少人都說要做地圖編輯器了,但是我暫時繞過這一步,如果不用尋路地圖就不能移動?尋路就是會繞過障礙物的演算法。 我做了一個簡單的地圖的思想,就是地圖分層3層:背景層、可行區域層、遮罩層,但是地圖就不尋路了,通過設定可行區域層來 實現地圖障礙物的方法。下面看一個檢視,
java--利用集合List和Set實現簡易版學生選課系統
//建立學生類 import java.util.HashSet; import java.util.Set; public class student { String id; //學號 String sname; //學生姓名 pu
利用【mapreduce】來實現——【wordcount的設計思路】
1.wordcount示例開發 map階段:將每行文字資料變成<單詞,1>這樣的k,v資料 reduce
java發送http的get、post請求
itl 關閉 print eal adl conn trace 分享 src java發送http的get、post請求 Http請求類 package wzh.Http; import java.io.BufferedReader; import java.io.