freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于net的網(wǎng)絡(luò)下載工具設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(編輯修改稿)

2025-07-24 18:09 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 能的實(shí)體內(nèi)容。通常 HTTP 消息包括客戶(hù)機(jī)向服務(wù)器的請(qǐng)求消息和服務(wù)器向客戶(hù)機(jī)的響應(yīng)消息。這兩種類(lèi)型的消息由一個(gè)起始行,一個(gè)或者多個(gè)頭域,一個(gè)指示頭域結(jié)束的空行和可選的消息體組成。HTTP 的頭域包括通用頭,請(qǐng)求頭,響應(yīng)頭和實(shí)體頭四個(gè)部分。每個(gè)頭域由一個(gè)域名,冒號(hào)(:)和域值三部分組成。域名是大小寫(xiě)無(wú)關(guān)的,域值前可以添加任何數(shù)量的空格符,頭域可以被擴(kuò)展為多行,在每行開(kāi)始處,使用至少一個(gè)空格或制表符。HTTP 協(xié)議結(jié)構(gòu)如下:  HTTP 報(bào)文由從客戶(hù)機(jī)到服務(wù)器的請(qǐng)求和從服務(wù)器到客戶(hù)機(jī)的響應(yīng)構(gòu)成。請(qǐng)求報(bào)文格式如下:請(qǐng)求行 - 通用信息頭 - 請(qǐng)求頭 - 實(shí)體頭 - 報(bào)文主體?! ≌?qǐng)求行以方法字段開(kāi)始,后面分別是 URL 字段和 HTTP 協(xié)議版本字段,并以 CRLF 結(jié)尾。SP 是分隔符。除了在最后的 CRLF 序列中 CF 和 LF 是必需的之外,其他都可以不要。有關(guān)通用信息頭,請(qǐng)求頭和實(shí)體頭方面的具體內(nèi)容可以參照相關(guān)文件。應(yīng)報(bào)文格式如下:狀態(tài)行 - 通用信息頭 - 響應(yīng)頭 - 實(shí)體頭 - 報(bào)文主體?! 顟B(tài)碼元由 3 位數(shù)字組成,表示請(qǐng)求是否被理解或被滿(mǎn)足。原因分析是對(duì)原文的狀態(tài)碼作簡(jiǎn)短的描述,狀態(tài)碼用來(lái)支持自動(dòng)操作,而原因分析用來(lái)供用戶(hù)使用??蛻?hù)機(jī)無(wú)需用來(lái)檢查或顯示語(yǔ)法。有關(guān)通用信息頭,響應(yīng)頭和實(shí)體頭方面的具體內(nèi)容可以參照相關(guān)文件。FTP 協(xié)議FTP(File Transfer Protocol) ,是文件傳輸協(xié)議的簡(jiǎn)稱(chēng)。用于 Inter 上的控制文件的雙向傳輸。同時(shí),它也是一個(gè)應(yīng)用程序(Application) 。用戶(hù)可以通過(guò)它把自己的 PC 機(jī)與世界各地所有運(yùn)行 FTP 協(xié)議的服務(wù)器相連,訪(fǎng)問(wèn)服務(wù)器上的大量程序和信息。FTP 的主要作用,就是讓用戶(hù)連接上一個(gè)遠(yuǎn)程計(jì)算機(jī)(這些計(jì)算機(jī)上運(yùn)行著FTP 服務(wù)器程序)察看遠(yuǎn)程計(jì)算機(jī)有哪些文件,然后把文件從遠(yuǎn)程計(jì)算機(jī)上拷到本地計(jì)算機(jī),或把本地計(jì)算機(jī)的文件送到遠(yuǎn)程計(jì)算機(jī)去。一般來(lái)說(shuō),用戶(hù)聯(lián)網(wǎng)的首要目的就是實(shí)現(xiàn)信息共享,文件傳輸是信息共享非常重要的一個(gè)內(nèi)容之一。早起在 Inter 上實(shí)現(xiàn)文件傳輸,并不是一件容易的事,我們知道 Inter 是一個(gè)非常復(fù)雜的計(jì)算機(jī)環(huán)境,有 PC,有工作站,有 MAC,有中國(guó)礦業(yè)大學(xué) 2022 屆本科生畢業(yè)設(shè)計(jì)(論文) 第 10 頁(yè)大型機(jī),據(jù)統(tǒng)計(jì)連接在 Inter 上的計(jì)算機(jī)已有上千萬(wàn)臺(tái),而這些計(jì)算機(jī)可能運(yùn)行不同的操作系統(tǒng),有運(yùn)行 Unix 的服務(wù)器,也有運(yùn)行 Dos、Windows 的 PC 機(jī)和運(yùn)行 Mac OS 的蘋(píng)果機(jī)等等,而各種操作系統(tǒng)之間的文件交流問(wèn)題,需要建立一個(gè)統(tǒng)一的文件傳輸協(xié)議,這就是所謂的 FTP?;诓煌牟僮飨到y(tǒng)有不同的 FTP 應(yīng)用程序,而所有這些應(yīng)用程序都遵守同一種協(xié)議,這樣用戶(hù)就可以把自己的文件傳送給別人,或者從其它的用戶(hù)環(huán)境中獲得文件。與大多數(shù) Inter 服務(wù)一樣,F(xiàn)TP 也是一個(gè)客戶(hù)機(jī)/服務(wù)器系統(tǒng)。用戶(hù)通過(guò)一個(gè)支持 FTP 協(xié)議的客戶(hù)機(jī)程序,連接到在遠(yuǎn)程主機(jī)上的 FTP 服務(wù)器程序。用戶(hù)通過(guò)客戶(hù)機(jī)程序向服務(wù)器程序發(fā)出命令,服務(wù)器程序執(zhí)行用戶(hù)所發(fā)出的命令,并將執(zhí)行的結(jié)果返回到客戶(hù)機(jī)。比如說(shuō),用戶(hù)發(fā)出一條命令,要求服務(wù)器向用戶(hù)傳送某一個(gè)文件的一份拷貝,服務(wù)器會(huì)響應(yīng)這條命令,將指定文件送至用戶(hù)的機(jī)器上??蛻?hù)機(jī)程序代表用戶(hù)接收到這個(gè)文件,將其存放在用戶(hù)目錄中。在 FTP 的使用當(dāng)中,用戶(hù)經(jīng)常遇到兩個(gè)概念:下載(Download)和上載(Upload) 。下載文件就是從遠(yuǎn)程主機(jī)拷貝文件至自己的計(jì)算機(jī)上;上載文件就是將文件從自己的計(jì)算機(jī)中拷貝至遠(yuǎn)程主機(jī)上。用 Inter 語(yǔ)言來(lái)說(shuō),用戶(hù)可通過(guò)客戶(hù)機(jī)程序向(從)遠(yuǎn)程主機(jī)上載(下載)文件。 斷點(diǎn)續(xù)傳技術(shù)在當(dāng)今的網(wǎng)絡(luò)時(shí)代,下載軟件是使用最為頻繁的軟件之一。幾年來(lái),下載技術(shù)也在不停地發(fā)展。最原始的下載功能僅僅是個(gè)“下載過(guò)程” ,即從 WEB 服務(wù)器上連續(xù)地讀取文件。其最大的問(wèn)題是,由于網(wǎng)絡(luò)的不穩(wěn)定性,一旦連接斷開(kāi)使得下載過(guò)程中斷,就不得不全部從頭再來(lái)一次。隨后, “斷點(diǎn)續(xù)傳”的概念就出來(lái)了,顧名思義,就是如果下載中斷,在重新建立連接后,跳過(guò)已經(jīng)下載的部分,而只下載還沒(méi)有下載的部分。多線(xiàn)程下載的基礎(chǔ)是 WEB 服務(wù)器支持遠(yuǎn)程的隨機(jī)讀取,也即支持“斷點(diǎn)續(xù)傳” 。這樣,在下載時(shí)可以把文件分成若干部分,每一部分創(chuàng)建一個(gè)下載線(xiàn)程進(jìn)行下載。 不僅在關(guān)機(jī)或者網(wǎng)絡(luò)出錯(cuò)的情況下這項(xiàng)技術(shù)。HTTP 斷點(diǎn)續(xù)傳支持對(duì)于 HTTP 協(xié)議,向服務(wù)器請(qǐng)求某個(gè)文件時(shí),只要發(fā)送類(lèi)似如下的請(qǐng)求即可: GET /Path/FileName HTTP/ Host: :80 Accept: */* UserAgent: GeneralDownloadApplication Connection: close 每行用一個(gè)“回車(chē)換行”分隔,末尾再追加一個(gè)“回車(chē)換行”作為整個(gè)請(qǐng)中國(guó)礦業(yè)大學(xué) 2022 屆本科生畢業(yè)設(shè)計(jì)(論文) 第 11 頁(yè)求的結(jié)束。 第一行中的 GET 是 HTTP 協(xié)議支持的方法之一,方法名是大小寫(xiě)敏感的,HTTP協(xié)議還支持 OPTIONS、HAED、POST、PUT、DELETE、TRACE、CONNECT 等方法,而GET 和 HEAD 這兩個(gè)方法通常被認(rèn)為是“安全的” ,也就是說(shuō)任何實(shí)現(xiàn)了 HTTP 協(xié)議的服務(wù)器程序都會(huì)實(shí)現(xiàn)這兩個(gè)方法。對(duì)于文件下載功能,GET 足矣。GET 后面是一個(gè)空格,其后緊跟的是要下載的文件從 WEB 服務(wù)器根開(kāi)始的絕對(duì)路徑。該路徑后又有一個(gè)空格,然后是協(xié)議名稱(chēng)及協(xié)議版本。 除第一行以外,其余行都是 HTTP 頭的字段部分。Host 字段表示主機(jī)名和端口號(hào),如果端口號(hào)是默認(rèn)的 80 則可以不寫(xiě)。Accept 字段中的*/*表示接收任何類(lèi)型的數(shù)據(jù)。UserAgent 表示用戶(hù)代理,這個(gè)字段可有可無(wú),但強(qiáng)烈建議加上,因?yàn)樗欠?wù)器統(tǒng)計(jì)、追蹤以及識(shí)別客戶(hù)端的依據(jù)。Connection 字段中的 close 表示使用非持久連接。 關(guān)于 HTTP 協(xié)議更多的細(xì)節(jié)可以參考 RFC2616(HTTP ) 。如果服務(wù)器成功收到該請(qǐng)求,并且沒(méi)有出現(xiàn)任何錯(cuò)誤,則會(huì)返回類(lèi)似下面的數(shù)據(jù): HTTP/ 200 OK ContentLength: 13057672 ContentType: application/octetstream LastModified: Wed, 10 Oct 2022 00:56:34 GMT AcceptRanges: bytes ETag: 2f38a6cac7cec51:160c Server: MicrosoftIIS/ XPoweredBy: Date: Wed, 16 Nov 2022 01:57:54 GMT Connection: close 第一行是協(xié)議名稱(chēng)及版本號(hào),空格后面會(huì)有一個(gè)三位數(shù)的數(shù)字,是 HTTP 協(xié)議的響應(yīng)狀態(tài)碼,200 表示成功,OK 是對(duì)狀態(tài)碼的簡(jiǎn)短文字描述。狀態(tài)碼共有 5 類(lèi):1xx 屬于通知類(lèi);2xx 屬于成功類(lèi);3xx 屬于重定向類(lèi);4xx 屬于客戶(hù)端錯(cuò)誤類(lèi);5xx 屬于服務(wù)端錯(cuò)誤類(lèi)。對(duì)于狀態(tài)碼,相信大家對(duì) 404 應(yīng)該很熟悉,如果向一個(gè)服務(wù)器請(qǐng)求一個(gè)不存在的文件,就會(huì)得到該錯(cuò)誤,通常瀏覽器也會(huì)顯示類(lèi)似“HTTP 404 未找到文件”這樣的錯(cuò)誤。ContentLength 字段是一個(gè)比較重要的字段,它標(biāo)明了服務(wù)器返回?cái)?shù)據(jù)的長(zhǎng)度,這個(gè)長(zhǎng)度是不包含 HTTP 頭長(zhǎng)度的。換句話(huà)說(shuō),我們的請(qǐng)求中并沒(méi)有 Range 字段(后面會(huì)說(shuō)到) ,表示我們請(qǐng)求的是整個(gè)文件,所以 ContentLength 就是整個(gè)文件的大小。其余各字段是一些關(guān)于文件和服務(wù)器的屬性信息。 這段返回?cái)?shù)據(jù)同樣是以最后一行的結(jié)束標(biāo)志(回車(chē)換行)和一個(gè)額外的回車(chē)中國(guó)礦業(yè)大學(xué) 2022 屆本科生畢業(yè)設(shè)計(jì)(論文) 第 12 頁(yè)換行作為結(jié)束,即“\r\n\r\n” 。而“\r\n\r\n”后面緊接的就是文件的內(nèi)容了,這樣我們就可以找到“\r\n\r\n” ,并從它后面的第一個(gè)字節(jié)開(kāi)始,源源不斷的讀取,再寫(xiě)到文件中了。 以上就是通過(guò) HTTP 協(xié)議實(shí)現(xiàn)文件下載的全過(guò)程。但還不能實(shí)現(xiàn)斷點(diǎn)續(xù)傳,而實(shí)際上斷點(diǎn)續(xù)傳的實(shí)現(xiàn)非常簡(jiǎn)單,只要在請(qǐng)求中加一個(gè) Range 字段就可以了。 假如一個(gè)文件有 1000 個(gè)字節(jié),那么其范圍就是 0999,則: Range: bytes=500 表示讀取該文件的 500999 字節(jié),共 500 字節(jié)。 Range: bytes=500599 表示讀取該文件的 500599 字節(jié),共 100 字節(jié)。 Range 還有其它幾種寫(xiě)法,但上面這兩種是最常用的。如果 HTTP 請(qǐng)求中包含 Range 字段,那么服務(wù)器會(huì)返回 206(Partial Content) ,同時(shí) HTTP 頭中也會(huì)有一個(gè)相應(yīng)的 ContentRange 字段,類(lèi)似下面的格式: ContentRange: bytes 500999/1000 ContentRange 字段說(shuō)明服務(wù)器返回了文件的某個(gè)范圍及文件的總長(zhǎng)度。這時(shí)ContentLength 字段就不是整個(gè)文件的大小了,而是對(duì)應(yīng)文件這個(gè)范圍的字節(jié)數(shù),這一點(diǎn)一定要注意。 一切好像基本上沒(méi)有什么問(wèn)題了,但事實(shí)并非如此。如果我們請(qǐng)求的文件的URL 是類(lèi)似 這樣的文件,則不會(huì)有問(wèn)題。但是很多軟件下載網(wǎng)站的文件下載鏈接都是通過(guò)程序重定向的,比如 pchome 的ACDSee 的 HTTP 下載地址是: dia/viewer/amp。svr=1amp。typ=0 這種地址并沒(méi)有直接標(biāo)識(shí)文件的位置,而是通過(guò)程序進(jìn)行了重定向。如果向服務(wù)器請(qǐng)求這樣的 URL,服務(wù)器就會(huì)返回 302(Moved Temporarily) ,意思就是需要重定向,同時(shí)在 HTTP 頭中會(huì)包含一個(gè) Location 字段,Location 字段的值就是重定向后的目的 URL。這時(shí)就需要斷開(kāi)當(dāng)前的連接,而向這個(gè)重定向后的服務(wù)器發(fā)請(qǐng)求。 FTP 斷點(diǎn)續(xù)傳支持FTP 客戶(hù)端軟件斷點(diǎn)續(xù)傳指的是在下載或上傳時(shí),將下載或上傳任務(wù)(一個(gè)文件或一個(gè)壓縮包)人為的劃分為幾個(gè)部分,每一個(gè)部分采用一個(gè)線(xiàn)程進(jìn)行上傳或下載,如果碰到網(wǎng)絡(luò)故障,可以從已經(jīng)上傳或下載的部分開(kāi)始繼續(xù)上傳下載以后未上傳下載的部分,而沒(méi)有必要重頭開(kāi)始上傳下載。用途可以節(jié)省時(shí)間,提高速度。 有時(shí)用戶(hù)上傳下載文件需要?dú)v時(shí)數(shù)小時(shí),萬(wàn)一線(xiàn)路中斷,不具備斷點(diǎn)續(xù)傳的FTP 服務(wù)器或下載軟件就只能從頭重傳;比較好的 FTP 服務(wù)器或下載軟件具有 FTP斷點(diǎn)續(xù)傳能力,允許用戶(hù)從上傳下載斷線(xiàn)的地方繼續(xù)傳動(dòng),這樣大大減少了用戶(hù)中國(guó)礦業(yè)大學(xué) 2022 屆本科生畢業(yè)設(shè)計(jì)(論文) 第 13 頁(yè)的煩惱。 XML 及 C對(duì)于 XML 的支持XML( Extensible Markup Language) 即 可 擴(kuò) 展 標(biāo) 記 語(yǔ) 言 , 它 與 HTML 一樣 , 都 是 SGML(Standard Generalized Markup Language,標(biāo) 準(zhǔn) 通 用 標(biāo) 記 語(yǔ) 言 )。Xml 是 Inter 環(huán) 境 中 跨 平 臺(tái) 的 , 依 賴(lài) 于 內(nèi) 容 的 技 術(shù) , 是 當(dāng) 前 處 理 結(jié) 構(gòu) 化 文 檔信 息 的 有 力 工 具 。 擴(kuò) 展 標(biāo) 記 語(yǔ) 言 XML 是 一 種 簡(jiǎn) 單 的 數(shù) 據(jù) 存 儲(chǔ) 語(yǔ) 言 , 使 用 一 系 列簡(jiǎn) 單 的 標(biāo) 記 描 述 數(shù) 據(jù) , 而 這 些 標(biāo) 記 可 以 用 方 便 的 方 式 建 立 , 雖 然 XML 占 用 的空 間 比 二 進(jìn) 制 數(shù) 據(jù) 要 占 用 更 多 的 空 間 , 但 XML 極 其 簡(jiǎn) 單 易 于 掌 握 和 使 用 。運(yùn) 用 XML 文 件 作 為 本 系 統(tǒng) 的 配 置 文 件 以 及 國(guó) 際 化 文 件 , 使 得 更 改 和 讀 取 軟件 配 置 更 加 方 便 和 快 捷 , XML 文 件 也 具 有 良 好 的 可 讀 性 , 所 以 在 本 軟 件 的 開(kāi) 發(fā)中 XML 類(lèi) 型 的 文 件 作 為 配 置 、 數(shù) 據(jù) 、 記 錄 文 件 等 多 處 被 使 用 。C對(duì) 于 XML 文 件 的 支 持 是 通 過(guò) ( )命名空間中的許多類(lèi)來(lái)支持的,可以通過(guò) C簡(jiǎn)單方便的讀寫(xiě) XML 格式的文件。C中主要有XmlNode、XmlDocument、XmlElement 、XmlAttribute、XmlText、XmlComment、XmlNodeList 等幾個(gè)類(lèi)支持對(duì)于 xml 文件的多種操作。使用這些類(lèi)中提供的方法可以簡(jiǎn)單方便的讀寫(xiě) xml 文件。 C對(duì)于 HTTP 下載支持HTTP 亦即 Hyper Text Transfer Protocol 的縮寫(xiě),它是現(xiàn)代互聯(lián)網(wǎng)上最重要的一種網(wǎng)絡(luò)協(xié)議,超文本傳輸協(xié)議位于 TCP/IP 協(xié)議的應(yīng)用層,是一個(gè)面向無(wú)連接、簡(jiǎn)單、快速的 C/S 結(jié)構(gòu)的協(xié)議。HTTP 的工作過(guò)程大體上分連接、請(qǐng)求、響應(yīng)和斷開(kāi)連接四個(gè)步驟。C語(yǔ)言對(duì) HTTP 協(xié)議提供了良好的支持, 類(lèi)庫(kù)中提供了WebRequest 和 WebResponse 類(lèi),這兩個(gè)類(lèi)都包含在 命名空間中,利用這兩個(gè)類(lèi)可以實(shí)現(xiàn)很多高級(jí)的網(wǎng)絡(luò)功能,本文中多線(xiàn)程文件下載就是利用這兩個(gè)類(lèi)實(shí)現(xiàn)的。 WebRequest 和 WebResponse 都是抽象基類(lèi),因此在程序中不能直接作為對(duì)象使用,必須被繼承,實(shí)際使用中,可根據(jù) URI 參數(shù)中
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1