《Android移動(dòng)應(yīng)用開發(fā)》使用HttpURLConnection訪問網(wǎng)絡(luò)_第1頁
《Android移動(dòng)應(yīng)用開發(fā)》使用HttpURLConnection訪問網(wǎng)絡(luò)_第2頁
《Android移動(dòng)應(yīng)用開發(fā)》使用HttpURLConnection訪問網(wǎng)絡(luò)_第3頁
《Android移動(dòng)應(yīng)用開發(fā)》使用HttpURLConnection訪問網(wǎng)絡(luò)_第4頁
《Android移動(dòng)應(yīng)用開發(fā)》使用HttpURLConnection訪問網(wǎng)絡(luò)_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Http編程2023/9/28142023/9/28HTTP協(xié)議URL目錄CONTENT12HttpURLConnection3參考教材:《Android應(yīng)用開發(fā)項(xiàng)目化教程》HTTP協(xié)議認(rèn)識(shí)HTTPHTTP(HyperTextTransferProtocol,超文本傳輸協(xié)議)是一個(gè)基于請(qǐng)求與響應(yīng)模式的、無狀態(tài)的應(yīng)用層協(xié)議,通?;赥CP的連接方式。兩種:1.01.11HTTP協(xié)議認(rèn)識(shí)HTTP主要特點(diǎn)支持客戶/服務(wù)器模式。簡(jiǎn)單快速:客戶向服務(wù)器請(qǐng)求服務(wù)時(shí),只需傳送請(qǐng)求方法和路徑。靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對(duì)象(類型由Content-Type加以標(biāo)記)。無連接:即每次連接只處理一個(gè)請(qǐng)求,處理完客戶的請(qǐng)求,并收到客戶的應(yīng)答后,即斷開連接。采用這種方式可以節(jié)省傳輸時(shí)間。無狀態(tài):無狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒有記憶能力。1HTTP協(xié)議認(rèn)識(shí)HTTP請(qǐng)求/響應(yīng)的組成請(qǐng)求行請(qǐng)求行以一個(gè)方法符號(hào)開頭,以空格分開,后面跟著請(qǐng)求的URI和協(xié)議的版本MethodRequest-URIHTTP-VersionCRLF1請(qǐng)求方法說明GET請(qǐng)求獲取Request-URI所標(biāo)識(shí)的資源POST在Request-URI所標(biāo)識(shí)的資源后附加新的數(shù)據(jù)HEAD請(qǐng)求獲取由Request-URI所標(biāo)識(shí)的資源的響應(yīng)消息報(bào)頭PUT請(qǐng)求服務(wù)器存儲(chǔ)一個(gè)資源,并用Request-URI作為其標(biāo)識(shí)DELETE請(qǐng)求服務(wù)器刪除Request-URI所標(biāo)識(shí)的資源TRACE請(qǐng)求服務(wù)器回送收到的請(qǐng)求信息,主要用于測(cè)試或診斷CONNECT保留將來使用OPTIONS請(qǐng)求查詢服務(wù)器的性能,或者查詢與資源相關(guān)的選項(xiàng)和需求HTTP協(xié)議認(rèn)識(shí)HTTP請(qǐng)求/響應(yīng)的組成狀態(tài)行狀態(tài)行包括:HTTP協(xié)議版本號(hào)、狀態(tài)碼、狀態(tài)碼的文本描述信息。1HTTP協(xié)議認(rèn)識(shí)HTTP請(qǐng)求/響應(yīng)的組成消息報(bào)頭請(qǐng)求報(bào)頭:請(qǐng)求報(bào)頭允許客戶端向服務(wù)器端傳遞請(qǐng)求的附加信息以及客戶端自身的信息。1HTTP協(xié)議認(rèn)識(shí)HTTP請(qǐng)求/響應(yīng)的組成消息報(bào)頭響應(yīng)報(bào)頭:響應(yīng)報(bào)頭允許服務(wù)器傳遞不能放在狀態(tài)行中的附加響應(yīng)信息,以及關(guān)于服務(wù)器的信息和對(duì)Request-URI所標(biāo)識(shí)的資源進(jìn)行下一步訪問的信息。1URL認(rèn)識(shí)URLURL(UniformResourceLocator)代表一個(gè)統(tǒng)一資源定位符,它是指向互聯(lián)網(wǎng)“資源”的指針。資源可以是簡(jiǎn)單的文件或目錄,也可以是對(duì)更為復(fù)雜的對(duì)象的引用,例如對(duì)數(shù)據(jù)庫或搜索引擎的查詢。2URLURL的組成protocol(協(xié)議):最常用的是HTTP協(xié)議,它也是目前WWW中應(yīng)用最廣的協(xié)議,格式為http://。hostname(主機(jī)名):是指存放資源的服務(wù)器的域名系統(tǒng)(DNS)主機(jī)名或IP地址。port(端口號(hào)):整數(shù),可選,省略時(shí)使用方案的默認(rèn)端口,各種傳輸協(xié)議都有默認(rèn)的端口號(hào),如http的默認(rèn)端口為80。path(路徑):由零或多個(gè)“/”符號(hào)隔開的字符串,一般用來表示主機(jī)上的一個(gè)目錄或文件地址。parameters:資源名稱等參數(shù)。?query(查詢):用于給動(dòng)態(tài)網(wǎng)頁傳遞參數(shù),可有多個(gè)參數(shù),用“&”符號(hào)隔開,每個(gè)參數(shù)的名和值用“=”符號(hào)隔開。2URLURL主要方法URL(Stringspec):根據(jù)String表示形式創(chuàng)建URL對(duì)象。URL(Stringprotocol,Stringhost,intport,Stringfile):根據(jù)指定protocol、host、port和file創(chuàng)建URL對(duì)象。openConnection():返回一個(gè)URLConnection對(duì)象,它表示到URL所引用的遠(yuǎn)程對(duì)象的連接。openStream():打開到此URL的連接并返回一個(gè)用于從該連接讀入的InputStream。setURLStreamHandlerFactory(URLStreamHandlerFactoryfac):設(shè)置應(yīng)用程序的URLStreamHandlerFactory。toString():構(gòu)造此URL的字符串表示形式。toURI():返回與此URL等效的URI。2HttpURLConnection認(rèn)識(shí)HttpURLConnection.HttpURLConnection類是繼承自URLConnection(抽象類URLConnection是所有類的超類,它代表應(yīng)用程序和URL之間的通信連接。此類的實(shí)例可用于讀取和寫入此URL引用的資源。)的一個(gè)抽象類,是一種多用途、輕量極的HTTP客戶端,使用它來進(jìn)行HTTP操作可以適用于大多數(shù)的應(yīng)用程序。3HttpURLConnection創(chuàng)建HttpURLConnection連接基本步驟①通過URL對(duì)象的openConnection()方法來創(chuàng)建URLConnection對(duì)象。②設(shè)置URLConnection的參數(shù)和普通請(qǐng)求屬性。③如果是發(fā)送GET方式的請(qǐng)求,使用connect()方法建立和遠(yuǎn)程資源之間的實(shí)際連接即可;如果需要發(fā)送POST方式的請(qǐng)求,需要獲取URLConnection實(shí)例對(duì)應(yīng)的輸出流來發(fā)送請(qǐng)求參數(shù)。④遠(yuǎn)程資源變?yōu)榭捎?,程序可以訪問遠(yuǎn)程資源的頭字段,或通過輸入流來讀取遠(yuǎn)程資源的數(shù)據(jù)。3HttpURLConnection創(chuàng)建HttpURLConnection連接創(chuàng)建HttpURLConnection對(duì)象HttpURLConnection是一種訪問HTTP資源的方式,在HTTP編程時(shí),來自HttpURLConnection的類是所有操作的基礎(chǔ)。使用.URL封裝HTTP資源的URL,并使用openConnection()方法獲得HttpURLConnection對(duì)象。3HttpURLConnection創(chuàng)建HttpURLConnection連接設(shè)置HttpURLConnection參數(shù)voidsetConnectTimeout(inttimeout):設(shè)置一個(gè)指定的超時(shí)值。voidsetRequestMethod(Stringmethod):設(shè)置URL請(qǐng)求的方法。voidsetDoInput(booleandoinput):將此URLConnection的doInput字段的值設(shè)置為指定的值。voidsetDoOutput(booleandooutput):將此URLConnection的doOutput字段的值設(shè)置為指定的值。voidsetDefaultUseCaches(booleandefaultusecaches):將useCaches字段的默認(rèn)值設(shè)置為指定的值。voidsetUseCaches(booleanusecaches):將此URLConnection的useCaches字段的值設(shè)置為指定的值。3HttpURLConnection創(chuàng)建HttpURLConnection連接設(shè)置HttpURLConnection參數(shù)voidsetRequestProperty(Stringkey,Stringvalue):設(shè)置一般請(qǐng)求屬性。staticvoidsetContentHandlerFactory(ContentHandlerFactoryfac):設(shè)置應(yīng)用程序的ContentHandlerFactory。staticvoidsetDefaultAllowUserInteraction(booleandefaultallowuserinteraction):將未來的所有URLConnection對(duì)象的allowUserInteraction字段的默認(rèn)值設(shè)置為指定的值。voidsetChunkedStreamingMode(intchunklen):此方法用于在預(yù)先不知道內(nèi)容長度時(shí)啟用沒有進(jìn)行內(nèi)部緩沖的HTTP請(qǐng)求正文的流。voidsetFixedLengthStreamingMode(intcontentLength):此方法用于在預(yù)先已知內(nèi)容長度時(shí)啟用沒有進(jìn)行內(nèi)部緩沖的HTTP請(qǐng)求正文的流。3HttpURLConnection創(chuàng)建HttpURLConnection連接HttpURLConnection連接通過connect()方法進(jìn)行網(wǎng)絡(luò)連接。調(diào)用disconnect()斷開連接。3HttpURLConnectionHttpURLConnection數(shù)據(jù)交換get方法ObjectgetContent():獲取該URLConnection的內(nèi)容。StringgetHeaderField(Stringname):獲取指定響應(yīng)頭字段的值。InputStreamgetInputStream():返回從此打開的連接讀取的輸入流。OutputStreamgetOutputStream():返回寫入到此連接的輸出流。intgetResponseCode():從HTTP響應(yīng)消息獲取狀態(tài)碼。StringgetResponseMessage():獲取與來自服務(wù)器的響應(yīng)代碼一起返回的HTTP響應(yīng)消息(如果有)。InputStreamgetErrorStream():如果連接失敗但服務(wù)器仍然發(fā)送了有用數(shù)據(jù),則返回錯(cuò)誤流。3HttpURLConnectionHttpURLConnection數(shù)據(jù)交換使用POST方式請(qǐng)求數(shù)據(jù)①確定URL,一般結(jié)構(gòu)為uri。②確定請(qǐng)求參數(shù)。③通過URL創(chuàng)建HttpURLConnection對(duì)象。④HttpURLConnection設(shè)置連接可讀寫數(shù)據(jù)。⑤通過getOutputStream()獲得輸出流對(duì)象,進(jìn)而發(fā)送請(qǐng)求參數(shù)。3HttpURLConnectionHttpURLConnection數(shù)據(jù)交換使用POST方式請(qǐng)求數(shù)據(jù)3HttpURLConnectionHttpURLConnection數(shù)據(jù)交換使用GET方式請(qǐng)求數(shù)據(jù)①確定URL,一般結(jié)構(gòu)為uri+”?”+params。②通過URL調(diào)用openConnection()方法創(chuàng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論