使用JDK原生的API進行網(wǎng)絡(luò)請求

2016-11-09    分類: 網(wǎng)站建設(shè)

現(xiàn)在很多新出的技術(shù)都需要訪問接口,像什么第三方登錄啊之類的

這個時候就少不了訪問網(wǎng)絡(luò)的工具類了啊,jdk也有自帶的工具類HttpUrlconnection

我們來講這個東西如何使用

首先我們需要構(gòu)建一個URL來獲取,請求的地址把地址放在構(gòu)造方法里面就好了

第二步重頭戲就來了 我們要構(gòu)建一個HTTPUrlconnection對象,但是這個對象是沒有構(gòu)造方法的

需要使用URL的Openconnection來創(chuàng)建

創(chuàng)建完了之后呢 我們要設(shè)置請求的參數(shù)(請求方法啊, 延遲啊, 輸入輸出流啊)

1. get請求

參數(shù)是直接追加到URl里面的,由于要從它里面讀取參數(shù),所以他的DoInput就要設(shè)置為true

由于不用向它里面輸出參數(shù),所以他的DoOutPut參數(shù)就設(shè)置為false

由于HTTP緩存用來提高性能,又由于GET與POST的諸多區(qū)別,get的緩存都被設(shè)置為true

由于GET請求,請求參數(shù)放到URL里面所以不存在主體部分所以就不存在ContentType

由于GET請求一次只發(fā)送一個TCP數(shù)據(jù)包, 所以就不用設(shè)置Keep-alive

設(shè)置重定向選擇為true

2. POST請求

參數(shù)是不能放到url里面的,所以說他要向connections輸出參數(shù),DoOutPut參數(shù)就設(shè)置為true

由于他也要從connections讀取參數(shù),DoInput設(shè)置為true

由于HTTP緩存用來提高性能,又由于GET與POST的諸多區(qū)別,post的緩存都被設(shè)置為true

由于POTS請求一次只發(fā)送兩個TCP數(shù)據(jù)包, 所以就要設(shè)置Keep-alive

設(shè)置重定向選擇為true

把寫好的參數(shù)使用a=a&b=b的方式當做字符串放到POST請求的主題里面

使用connections的getOutPutStream獲得PrintWriter對象, 使用write輸出參數(shù),記得flush和close

讀取響應(yīng)都是一樣的

1. 狀態(tài)碼

一般常見的狀態(tài)碼有 200響應(yīng)成功 301資源被永久轉(zhuǎn)移 404找不到資源 500服務(wù)器錯誤

狀態(tài)碼一般有三個十進制的數(shù)字組成, 一個十進制數(shù)字定義了狀態(tài)碼的類型, 共有五鐘類型

1** : 服務(wù)器收到請求,繼續(xù)執(zhí)行

2** : 成功,操作被成功接受并處理

3** : 重定向, 需要進一步操作

4** : 客戶端錯誤, 找不到資源

5** : 服務(wù)器錯誤,處理過程中發(fā)生錯誤

2.服務(wù)器的響應(yīng)

讀取數(shù)據(jù)都是用的inputStream我們可以把它轉(zhuǎn)為BufferReader提高性能 ,

使用readline循環(huán)讀取

最后關(guān)閉連接

connection.disconnection

標題名稱:使用JDK原生的API進行網(wǎng)絡(luò)請求
網(wǎng)站路徑:http://www.muchs.cn/news17/64317.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、電子商務(wù)、小程序開發(fā)、域名注冊、網(wǎng)站收錄網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)