2016-11-09 分類(lèi): 網(wǎng)站建設(shè)
現(xiàn)在很多新出的技術(shù)都需要訪問(wèn)接口,像什么第三方登錄啊之類(lèi)的
這個(gè)時(shí)候就少不了訪問(wèn)網(wǎng)絡(luò)的工具類(lèi)了啊,jdk也有自帶的工具類(lèi)HttpUrlconnection
我們來(lái)講這個(gè)東西如何使用
首先我們需要構(gòu)建一個(gè)URL來(lái)獲取,請(qǐng)求的地址把地址放在構(gòu)造方法里面就好了
第二步重頭戲就來(lái)了 我們要構(gòu)建一個(gè)HTTPUrlconnection對(duì)象,但是這個(gè)對(duì)象是沒(méi)有構(gòu)造方法的
需要使用URL的Openconnection來(lái)創(chuàng)建
創(chuàng)建完了之后呢 我們要設(shè)置請(qǐng)求的參數(shù)(請(qǐng)求方法啊, 延遲啊, 輸入輸出流啊)
1. get請(qǐng)求
參數(shù)是直接追加到URl里面的,由于要從它里面讀取參數(shù),所以他的DoInput就要設(shè)置為true
由于不用向它里面輸出參數(shù),所以他的DoOutPut參數(shù)就設(shè)置為false
由于HTTP緩存用來(lái)提高性能,又由于GET與POST的諸多區(qū)別,get的緩存都被設(shè)置為true
由于GET請(qǐng)求,請(qǐng)求參數(shù)放到URL里面所以不存在主體部分所以就不存在ContentType
由于GET請(qǐng)求一次只發(fā)送一個(gè)TCP數(shù)據(jù)包, 所以就不用設(shè)置Keep-alive
設(shè)置重定向選擇為true
2. POST請(qǐng)求
參數(shù)是不能放到url里面的,所以說(shuō)他要向connections輸出參數(shù),DoOutPut參數(shù)就設(shè)置為true
由于他也要從connections讀取參數(shù),DoInput設(shè)置為true
由于HTTP緩存用來(lái)提高性能,又由于GET與POST的諸多區(qū)別,post的緩存都被設(shè)置為true
由于POTS請(qǐng)求一次只發(fā)送兩個(gè)TCP數(shù)據(jù)包, 所以就要設(shè)置Keep-alive
設(shè)置重定向選擇為true
把寫(xiě)好的參數(shù)使用a=a&b=b的方式當(dāng)做字符串放到POST請(qǐng)求的主題里面
使用connections的getOutPutStream獲得PrintWriter對(duì)象, 使用write輸出參數(shù),記得flush和close
讀取響應(yīng)都是一樣的
1. 狀態(tài)碼
一般常見(jiàn)的狀態(tài)碼有 200響應(yīng)成功 301資源被永久轉(zhuǎn)移 404找不到資源 500服務(wù)器錯(cuò)誤
狀態(tài)碼一般有三個(gè)十進(jìn)制的數(shù)字組成, 一個(gè)十進(jìn)制數(shù)字定義了狀態(tài)碼的類(lèi)型, 共有五鐘類(lèi)型
1** : 服務(wù)器收到請(qǐng)求,繼續(xù)執(zhí)行
2** : 成功,操作被成功接受并處理
3** : 重定向, 需要進(jìn)一步操作
4** : 客戶端錯(cuò)誤, 找不到資源
5** : 服務(wù)器錯(cuò)誤,處理過(guò)程中發(fā)生錯(cuò)誤
2.服務(wù)器的響應(yīng)
讀取數(shù)據(jù)都是用的inputStream我們可以把它轉(zhuǎn)為BufferReader提高性能 ,
使用readline循環(huán)讀取
最后關(guān)閉連接
connection.disconnection
網(wǎng)頁(yè)題目:使用JDK原生的API進(jìn)行網(wǎng)絡(luò)請(qǐng)求
分享網(wǎng)址:http://www.rwnh.cn/news/64317.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、搜索引擎優(yōu)化、定制開(kāi)發(fā)、網(wǎng)站制作、企業(yè)網(wǎng)站制作、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容