我們來看看.net framework中為我們提供了哪些類可以來做斷點續傳這件事。
完成http請求
httpwebrequest 類對 webrequest 中定義的屬性和方法提供支援,也對使使用者能夠直接與使用 http 的伺服器互動的附加屬性和方法提供支援。
httpwebrequest 將傳送到 internet 資源的公共 http 標頭值公開為屬性,由方法或系統設定。下表包含完整列表。可以將 headers 屬性中的其他標頭設定為名稱/值對。
但是注意,某些公共標頭被視為受限制的,它們或者直接由 api公開,或者受到系統保護,不能被更改。range也屬於被保護之列,不過,.net為開發者提供了更方便的操作,就是
addrange方法,向請求新增從請求資料的開始處或結束處的特定範圍的位元組範圍標頭
完成檔案訪問
system.io.filestream
filestream 物件支援使用seek方法對檔案進行隨機訪問, seek 允許將讀取/寫入位置移動到檔案中的任意位置。這是通過位元組偏移參考點引數完成的。位元組偏移量是相對於
查詢參考點而言的,該參考點可以是基礎檔案的開始、當前位置或結尾,分別由seekorigin類的三個屬性表示。
**實現
了解了.net提供的相關的類,那麼,我們就可以方便的實現了。
**如下:
static void main(string args)
{ string strfilename="c://download.zip"; //根據實際情況設定
string strurl="http://www.***x.cn/***xx.zip"; //根據實際情況設定
//開啟網路連線
request.addrange((int)lstartpos); //設定range值
//向伺服器請求,獲得伺服器回應資料流
system.io.stream ns= request.getresponse().getresponsestream();
C 實現FTP斷點續傳
一 前言 在internet網際網路應用程式支援上,microsoft提供了win32 internet api函式支援,此型別的api是由wininet.dll動態鏈結函式庫所提供的。win32 internet api 即 wininet 幫助實現對 gopher ftp 和 http 等常用 ...
實現HTTP斷點續傳
在http協議中,獲取資源可以使用get方法,但在使用get方法指定乙個資源後,會獲取到該資源的所有位元組。在http協議中,提供range屬性,可以指定獲取資源某一段資料。如使用telnet連線www.cz88.net 的80埠 會獲取如下資料 ht失去了跟主機的連線。在獲取的報文中,可以看到co...
symbian實現斷點續傳
斷點續傳的原理 假設伺服器網域名稱為wwww.sjtu.edu.cn,檔名為down.zip。仔細看一下就會發現多了一行range bytes 2000070 這一行的意思就是告訴伺服器down.zip這個檔案從2000070位元組開始傳,前面的位元組不用傳了。伺服器收到這個請求以後,返回的資訊如下...