現在很多新出的技術(shù)都需要訪(fǎng)問(wèn)接口,像什么第三方登錄啊之類(lèi)的
這個(gè)時(shí)候就少不了訪(fǎng)問(wèn)網(wǎng)絡(luò )的工具類(lèi)了啊,jdk也有自帶的工具類(lèi)HttpUrlconnection
我們來(lái)講這個(gè)東西如何使用
首先我們需要構建一個(gè)URL來(lái)獲取,請求的地址把地址放在構造方法里面就好了
第二步重頭戲就來(lái)了 我們要構建一個(gè)HTTPUrlconnection對象,但是這個(gè)對象是沒(méi)有構造方法的
需要使用URL的Openconnection來(lái)創(chuàng )建
創(chuàng )建完了之后呢 我們要設置請求的參數(請求方法啊, 延遲啊, 輸入輸出流啊)
1. get請求
參數是直接追加到URl里面的,由于要從它里面讀取參數,所以他的DoInput就要設置為true
由于不用向它里面輸出參數,所以他的DoOutPut參數就設置為false
由于HTTP緩存用來(lái)提高性能,又由于GET與POST的諸多區別,get的緩存都被設置為true
由于GET請求,請求參數放到URL里面所以不存在主體部分所以就不存在ContentType
由于GET請求一次只發(fā)送一個(gè)TCP數據包, 所以就不用設置Keep-alive
設置重定向選擇為true
2. POST請求
參數是不能放到url里面的,所以說(shuō)他要向connections輸出參數,DoOutPut參數就設置為true
由于他也要從connections讀取參數,DoInput設置為true
由于HTTP緩存用來(lái)提高性能,又由于GET與POST的諸多區別,post的緩存都被設置為true
由于POTS請求一次只發(fā)送兩個(gè)TCP數據包, 所以就要設置Keep-alive
設置重定向選擇為true
把寫(xiě)好的參數使用a=a&b=b的方式當做字符串放到POST請求的主題里面
使用connections的getOutPutStream獲得PrintWriter對象, 使用write輸出參數,記得flush和close
讀取響應都是一樣的
1. 狀態(tài)碼
一般常見(jiàn)的狀態(tài)碼有 200響應成功 301資源被永久轉移 404找不到資源 500服務(wù)器錯誤
狀態(tài)碼一般有三個(gè)十進(jìn)制的數字組成, 第一個(gè)十進(jìn)制數字定義了狀態(tài)碼的類(lèi)型, 共有五鐘類(lèi)型
1** : 服務(wù)器收到請求,繼續執行
2** : 成功,操作被成功接受并處理
3** : 重定向, 需要進(jìn)一步操作
4** : 客戶(hù)端錯誤, 找不到資源
5** : 服務(wù)器錯誤,處理過(guò)程中發(fā)生錯誤
2.服務(wù)器的響應
讀取數據都是用的inputStream我們可以把它轉為BufferReader提高性能 ,
使用readline循環(huán)讀取
最后關(guān)閉連接
connection.disconnection
咨詢(xún)熱線(xiàn)
010-85377344
135-21581588
微信客服
QQ客服
3026106565 點(diǎn)擊咨詢(xún)