日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java httpClient介紹以及使用示例

瀏覽:203日期:2022-08-22 16:25:29

Java 開發語言中實現HTTP請求的方法主要有兩種:一種是JAVA的標準類HttpUrlConnection,比較原生的實現方法;另一種是第三方開源框架HTTPClient。

HttpClient相比傳統JDK自帶的URLConnection,增加了易用性和靈活性,它不僅是客戶端發送Http請求變得容易,而且也方便了開發人員測試接口(基于Http協議的),即提高了開發的效率,也方便提高代碼的健壯性。

一、HttpClient簡單介紹

HttpClient是Apache Jakarta Common下的子項目,用來提供高效的、最新的、功能豐富的支持HTTP協議的客戶端編程工具包,并且它支持HTTP協議最新的版本和建議。HttpClient已經應用在很多的項目中,比如Apache Jakarta上很著名的另外兩個開源項目Cactus和HTMLUnit都使用了HttpClient。

HTTPClient對HTTP的封裝性比較不錯,通過它基本上能夠滿足我們大部分的需求。HttpClient3.1 是 org.apache.commons.httpclient下操作遠程 url的工具包,雖然已不再更新,但實現工作中使用httpClient3.1的代碼還是很多。HttpClient4.5 是org.apache.http.client下操作遠程 url的工具包。

二、HttpClient特性

基于標準、純凈的java語言。實現了Http1.0和Http1.1。 以可擴展的面向對象的結構實現了Http全部的方法(GET, POST, PUT, DELETE, HEAD, OPTIONS, and TRACE)。 支持HTTPS協議。 通過Http代理建立透明的連接。 利用CONNECT方法通過Http代理建立隧道的https連接。 Basic, Digest, NTLMv1, NTLMv2, NTLM2 Session, SNPNEGO/Kerberos認證方案。 插件式的自定義認證方案。 便攜可靠的套接字工廠使它更容易的使用第三方解決方案。 連接管理器支持多線程應用。支持設置最大連接數,同時支持設置每個主機的最大連接數,發現并關閉過期的連接。 自動處理Set-Cookie中的Cookie。 插件式的自定義Cookie策略。 Request的輸出流可以避免流中內容直接緩沖到socket服務器。 Response的輸入流可以有效的從socket服務器直接讀取相應內容。 在http1.0和http1.1中利用KeepAlive保持持久連接。 直接獲取服務器發送的response code和 headers。 設置連接超時的能力。 實驗性的支持http1.1 response caching。 源代碼基于Apache License 可免費獲取。

三、使用方法

使用HttpClient發送請求、接收響應很簡單,一般需要如下幾步即可。

創建HttpClient對象。 創建請求方法的實例,并指定請求URL。如果需要發送GET請求,創建HttpGet對象;如果需要發送POST請求,創建HttpPost對象。 如果需要發送請求參數,可調用HttpGet、HttpPost共同的setParams(HetpParams params)方法來添加請求參數;對于HttpPost對象而言,也可調用setEntity(HttpEntity entity)方法來設置請求參數。 調用HttpClient對象的execute(HttpUriRequest request)發送請求,該方法返回一個HttpResponse。 調用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可獲取服務器的響應頭;調用HttpResponse的getEntity()方法可獲取HttpEntity對象,該對象包裝了服務器的響應內容。程序可通過該對象獲取服務器的響應內容。 釋放連接。無論執行方法是否成功,都必須釋放連接

四、使用示例

HttpClient 為第三方Http 客戶端類庫;在開發過程中主要是發送Http協議的Post請求和Get請求。其中Post請求使用HttpPost對象構建、Get請求使用HttpGet對象構建。

HttpGet 請求

public static void main(String[] args) throws Exception {// 格式化請求url // String cmd=String.format('http://%s:%s@%s',username,password,split[1]);// 請求地址 String url = 'https://blog.csdn.net/amosjob/article/details/82775290'; // 創建默認的客戶端實例 CloseableHttpClient httpclient = HttpClients.createDefault(); // 創建get請求實例 HttpGet httpGet = new HttpGet(url); // 設置頭部信息 httpGet.setHeader('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2');// httpGet.addHeader('x-api-key', 'XXX');// httpGet.addHeader('x-lang', 'en-US'); // 執行GET請求 返回響應實體 HttpResponse response = httpclient.execute(httpGet); // 獲取響應碼 int statusCode = response.getStatusLine().getStatusCode(); // 獲取全部的請求頭 Header[] allHeaders = response.getAllHeaders(); System.out.println('響應狀態碼:' + statusCode); for (int i = 0; i < allHeaders.length; i++) { System.out.println('全部的請求頭:' + allHeaders[i]);} // 獲取響應消息實體 HttpEntity entity = response.getEntity(); //打印輸出網頁的內容(可刪除) if (entity != null) { // 推薦該辦法打印內容 System.out.println('響應的內容:'+EntityUtils.toString(entity)); // 也可以使用這個方法 InputStream inputStream = entity.getContent(); InputStreamReader streamReader = new InputStreamReader(inputStream); int line; line = streamReader.read() ; while (line!= -1) { System.out.print((char)line); line = streamReader.read() ; } }// 關閉連接try {httpclient.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}

HttpPost 請求

public static void main(String[] args) throws Exception {// 請求地址String url = 'https://passport.csdn.net/account/login';// 創建默認的客戶端實例CloseableHttpClient httpclient = HttpClients.createDefault();// 創建POST對象HttpPost httpPost = new HttpPost(url);// 傳參數List<NameValuePair> params = new ArrayList<NameValuePair>();params.add(new BasicNameValuePair('username', 'admin'));params.add(new BasicNameValuePair('password', '12345'));try {UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params);httpPost.setEntity(entity);} catch (Exception e) {e.printStackTrace();}// 執行GET請求 返回響應實體HttpResponse response = httpclient.execute(httpPost);// 獲取響應碼int statusCode = response.getStatusLine().getStatusCode();// 獲取全部的請求頭Header[] allHeaders = response.getAllHeaders();System.out.println('響應狀態碼:' + statusCode);for (int i = 0; i < allHeaders.length; i++) {System.out.println('全部的請求頭:' + allHeaders[i]);}// 獲取響應消息實體HttpEntity entity = response.getEntity();// 打印輸出網頁的內容(可刪除)if (entity != null) {System.out.println('響應的內容:'+EntityUtils.toString(entity));}// 關閉連接try {httpclient.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}

以上就是Java httpClient介紹以及使用示例的詳細內容,更多關于Java httpClient的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩高清欧美| 美女视频黄久久| 精品国产一区二区三区性色av| 亚洲婷婷丁香| 美女久久网站| 中文字幕一区二区精品区| 日韩在线一二三区| 欧美专区在线| 亚洲一区不卡| 中文字幕日韩高清在线 | 热久久久久久| 国产日韩欧美三级| 久久中文在线| 日本精品不卡| 五月婷婷六月综合| 欧美专区一区二区三区| 午夜一区在线| 91精品国产一区二区在线观看 | 国产伦理久久久久久妇女| 日韩高清不卡一区| 国产精品激情| 日韩不卡一区| 激情偷拍久久| 亚洲精品一级| 国产精品videossex久久发布| 美女视频免费精品| 亚洲一区资源| 好看的av在线不卡观看| 国产农村妇女精品一二区| 一区二区高清| 国产极品嫩模在线观看91精品| 国产一区二区三区四区五区传媒| 欧洲av一区二区| 午夜亚洲精品| 国产情侣一区| 国产精品亚洲一区二区三区在线观看| 欧美日韩国产欧| 日韩av影院| 色综合五月天| 国产农村妇女精品一二区| 日本在线成人| 成人污污视频| 激情综合网站| 日韩精品乱码av一区二区| 欧美激情aⅴ一区二区三区| 在线手机中文字幕| 亚洲欧美日韩精品一区二区| 日韩国产精品久久久久久亚洲| 久久国产尿小便嘘嘘| 国产资源在线观看入口av| 伊人影院久久| 国产精品亚洲一区二区在线观看| 日本不良网站在线观看| 六月婷婷一区| 欧美成人精品一级| 国产视频一区三区| 麻豆视频一区二区| 夜夜精品视频| 免费一区二区三区在线视频| 亚洲不卡av不卡一区二区| 亚洲精品三级| 黄色精品视频| 日韩精品一二三| 国产高潮在线| 日韩国产成人精品| 日韩一区三区| 日韩成人一级| 免费观看久久av| 欧美xxxx性| 亚洲另类av| 日韩在线高清| 国产精品国产三级在线观看| 国产精品美女久久久| 麻豆91精品视频| 欧美日韩精品一本二本三本 | 97久久超碰| 蜜臀久久99精品久久一区二区| 国产欧美另类| 日本欧美在线看| 成人福利av| 国产精品多人| 亚洲精品字幕| 五月综合激情| 国产精品蜜芽在线观看| 日本一区免费网站| 亚洲精品网址| 成人午夜毛片| 国产日韩亚洲| 视频一区日韩精品| 日韩午夜一区| 99精品视频在线观看免费播放| 国产精品igao视频网网址不卡日韩 | 日韩免费一区| 国产精品一区毛片| 免费美女久久99| 91精品久久久久久久久久不卡| 国产精品对白| 日本亚洲视频在线| 在线看片一区| 亚洲深夜福利| 午夜欧美理论片| 久久国产电影| 日本蜜桃在线观看视频| 精品亚洲成人| 国产精品qvod| 国产欧美日韩综合一区在线播放| 男人的天堂久久精品| 亚洲免费成人| 日本久久成人网| 日韩免费福利视频| 久久久久久夜| 九九九精品视频| 国产精品一区二区三区美女| 青青草国产成人99久久| 色狠狠一区二区三区| 日韩精品一区第一页| 午夜一级在线看亚洲| 2023国产精品久久久精品双| 久久亚洲专区| av亚洲免费| 黄色日韩在线| 亚洲欧美高清| 亚洲影视一区二区三区| 老鸭窝毛片一区二区三区| 久久亚洲不卡| 蜜桃免费网站一区二区三区| 视频一区在线视频| 在线观看亚洲精品福利片| 日韩精品一二三区| 日本亚洲最大的色成网站www| 日韩精品成人| 国产精品亚洲片在线播放| 欧美国产先锋| 国产成人精品福利| 日韩国产激情| 国产一区欧美| 国产亚洲一级| 婷婷亚洲成人| 久久狠狠久久| 免费在线日韩av| 中文字幕成在线观看| 久久国产中文字幕| 久久国产精品亚洲77777| 亚洲精品在线国产| 国产欧美日韩影院| 久久影院午夜精品| 极品日韩av| 一区二区三区四区日韩| 国产亚洲人成a在线v网站 | 91在线成人| 麻豆一区在线| 日产精品一区| 亚洲一区二区三区四区五区午夜 | 久久精品99久久久| 精品一区二区三区亚洲 | 美女久久一区| 日韩国产精品久久久久久亚洲| 久久影视三级福利片| 中文av在线全新| 欧美网站在线| 欧美日韩国产一区二区在线观看| 国产一区二区三区不卡视频网站 | 国产日韩亚洲| 国产精品麻豆久久| 国产精品婷婷| 国产精品99久久免费| 91tv亚洲精品香蕉国产一区| 亚洲主播在线| 国产乱码精品| 婷婷精品视频| 日韩国产成人精品| 精品理论电影在线| 国产韩日影视精品| 久久精品凹凸全集| 久久久影院免费| 欧美日韩亚洲一区三区| 人人香蕉久久| 日韩福利视频导航| 日韩精品网站| 日本精品一区二区三区在线观看视频| 精品高清久久| 日韩精品一二区| 国产suv精品一区二区四区视频| 日韩视频久久| 久久亚洲人体| 日韩中文字幕1| 久草精品视频| 国产麻豆综合| 国产精品毛片一区二区在线看| 人人爽香蕉精品| 日本不卡免费高清视频在线| 综合一区在线| 天堂资源在线亚洲| 国产精品jk白丝蜜臀av小说| 国产午夜精品一区二区三区欧美 | 日韩在线观看一区| 7m精品国产导航在线| 国产亚洲一区二区手机在线观看| 亚洲精品大全| 日韩欧美视频专区|