版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新員工入職簽合同協(xié)議模板
- 公司勞務(wù)派遣用工合同年
- 可再生能源項(xiàng)目開發(fā)與建設(shè)合同
- 建筑企業(yè)工程項(xiàng)目涉稅計(jì)算及賬物處理
- 合同書樣本電子版外墻工程涂料
- 專利轉(zhuǎn)化信托之制度設(shè)計(jì)
- 水泥建材運(yùn)輸合同三篇
- 石油勘探招標(biāo)合同三篇
- 鐵螯合劑選擇性抑制β-catenin活化突變肝癌的研究
- 船用柴油機(jī)連桿加工質(zhì)量預(yù)測(cè)及加工參數(shù)尋優(yōu)研究
- VW-Formel-Q審核提問表(完整版)
- 物業(yè)客服溝通技巧培訓(xùn)課件
- 工程造價(jià)咨詢服務(wù)方案(技術(shù)方案)
- 整體租賃底商運(yùn)營方案(技術(shù)方案)
- 常用藥物作用及副作用課件
- 小學(xué)生作文方格紙A4紙直接打印版
- 老人心理特征和溝通技巧
- 幼兒阿拉伯?dāng)?shù)字描紅(0-100)打印版
- 標(biāo)桿地產(chǎn)集團(tuán) 研發(fā)設(shè)計(jì) 工程管理 品質(zhì)地庫標(biāo)準(zhǔn)研發(fā)成果V1.0
- 2023年1月浙江高考英語聽力試題及答案(含MP3+錄音原文)
- HI-IPDV10芯片產(chǎn)品開發(fā)流程V10宣課件
評(píng)論
0/150
提交評(píng)論