ÊÖ»úÕ¾
ÍøÍ¨·ÖÕ¾
µçÐÅÖ÷Õ¾
ÃÜ¡¡Âë:
Óû§Ãû£º
µ±Ç°Î»Öà : Ö÷Ò³>ÍøÂç±à³Ì>Asp.Net±à³Ì>Áбí

ʹÓÃ.NETʵÏֶϵãÐø´«

À´Ô´£º»¥ÁªÍø ×÷Õߣºwest263.com ʱ¼ä£º2008-02-22
Î÷²¿ÊýÂë-È«¹úÐéÄâÖ÷»ú10Ç¿£¡40ÓàÏîÐéÄâÖ÷»ú¹ÜÀí¹¦ÄÜ,È«¹úÁìÏÈ!Ë«Ïß¶àÏßÐéÄâÖ÷»úÄϱ±·ÃÎʳ©Í¨ÎÞ×è!Ãâ·ÑÔùËÍÆóÒµÓʾÖ,.CNÓòÃû,×ÔÖú½¨Õ¾480ÔªÆð,Ãâ·ÑÊÔÓÃ7Ìì,ÂúÒâÔÙ¸¶¿î! P4Ö÷»ú×âÓÃ799Ôª/ÔÂ.Ô¸¶Ãâѹ½ð!

ivy_live521£¨Ô­×÷£©

¶ÏµãÐø´«µÄÔ­Àí
ÔÚÁ˽âHTTP¶ÏµãÐø´«µÄÔ­Àí֮ǰ£¬ÏÈÀ´ËµËµHTTPЭÒ飬HTTPЭÒéÊÇÒ»ÖÖ»ùÓÚtcpµÄ¼òµ¥Ð­Ò飬·ÖΪÇëÇóºÍ»Ø¸´Á½ÖÖ¡£ÇëÇóЭÒéÊÇÓɿͻ§»ú(ä¯ÀÀÆ÷)Ïò·þÎñÆ÷£¨WEB SERVER£©Ìá½»ÇëÇóʱ·¢Ëͱ¨ÎĵÄЭÒé¡£»Ø¸´Ð­ÒéÊÇÓÉ·þÎñÆ÷(web server)£¬Ïò¿Í»§»ú(ä¯ÀÀÆ÷)»Ø¸´±¨ÎÄʱµÄЭÒé¡£ÇëÇóºÍ»Ø¸´Ð­Òé¶¼ÓÉÍ·ºÍÌå×é³É¡£Í·ºÍÌåÖ®¼äÒÔÒ»ÐпÕÐÐΪ·Ö¸ô¡£

ÒÔÏÂÊÇÒ»¸öÇëÇó±¨ÎÄÓëÏàÓ¦µÄ»Ø¸´±¨ÎĵÄÀý×Ó£º

GET /image/index_r4_c1.jpg HTTP/1.1

Accept: */*

Referer: http://192.168.3.120:8080

Accept-Language: zh-cn

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705)

Host: 192.168.3.120:8080

Connection: Keep-Alive

HTTP/1.1 200 OK

Server: Microsoft-IIS/5.0

Date: Tue, 24 Jun 2003 05:39:40 GMT

Content-Type: image/jpeg

Accept-Ranges: bytes

Last-Modified: Thu, 23 May 2002 03:05:40 GMT

ETag: "bec48eb862c21:934"

Content-Length: 2827

ÿ? JFIF H H ÿ C [1]

¡­.

ÏÂÃæÎÒÃǾÍÀ´ËµËµ¡°¶ÏµãÐø´«¡±¡£

¹ËÃû˼Ò壬¶ÏµãÐø´«¾ÍÊÇÔÚÉÏÒ»´ÎÏÂÔØÊ±¶Ï¿ªµÄλÖÿªÊ¼¼ÌÐøÏÂÔØ¡£ÔÚHTTPЭÒéÖУ¬¿ÉÒÔÔÚÇëÇó±¨ÎÄÍ·ÖмÓÈëRange¶Î£¬À´±íʾ¿Í»§»úÏ£Íû´ÓºÎ´¦¼ÌÐøÏÂÔØ¡£

±ÈÈç˵´ÓµÚ1024×Ö½Ú¿ªÊ¼ÏÂÔØ£¬ÇëÇó±¨ÎÄÈçÏ£º

GET /image/index_r4_c1.jpg HTTP/1.1

Accept: */*

Referer: http://192.168.3.120:8080

Accept-Language: zh-cn

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705)

Host: 192.168.3.120:8080

Range:bytes=1024-

Connection: Keep-Alive

.NETÖеÄÏà¹ØÀà
Ã÷°×ÁËÉÏÃæµÄÔ­Àí£¬ÄÇô£¬ÎÒÃÇÀ´¿´¿´.NET FRAMEWORKÖÐΪÎÒÃÇÌṩÁËÄÄЩÀà¿ÉÒÔÀ´×öÕâЩÊ¡£

Íê³ÉHTTPÇëÇó
System.Net.HttpWebRequest

HttpWebRequest Àà¶Ô WebRequest Öж¨ÒåµÄÊôÐԺͷ½·¨Ìṩ֧³Ö£¬Ò²¶ÔʹÓû§Äܹ»Ö±½ÓÓëʹÓà HTTP µÄ·þÎñÆ÷½»»¥µÄ¸½¼ÓÊôÐԺͷ½·¨Ìṩ֧³Ö¡£

HttpWebRequest ½«·¢Ë͵½ Internet ×ÊÔ´µÄ¹«¹² HTTP ±êÍ·Öµ¹«¿ªÎªÊôÐÔ£¬ÓÉ·½·¨»òϵͳÉèÖá£Ï±í°üº¬ÍêÕûÁÐ±í¡£¿ÉÒÔ½« Headers ÊôÐÔÖÐµÄÆäËû±êÍ·ÉèÖÃΪÃû³Æ/Öµ¶Ô¡£µ«ÊÇ×¢Ò⣬ijЩ¹«¹²±êÍ·±»ÊÓΪÊÜÏÞÖÆµÄ£¬ËüÃÇ»òÕßÖ±½ÓÓÉ API¹«¿ª£¬»òÕßÊܵ½ÏµÍ³±£»¤£¬²»Äܱ»¸ü¸Ä¡£RangeÒ²ÊôÓÚ±»±£»¤Ö®ÁУ¬²»¹ý£¬.NETΪ¿ª·¢ÕßÌṩÁ˸ü·½±ãµÄ²Ù×÷£¬¾ÍÊÇ AddRange·½·¨£¬ÏòÇëÇóÌí¼Ó´ÓÇëÇóÊý¾ÝµÄ¿ªÊ¼´¦»ò½áÊø´¦µÄÌØ¶¨·¶Î§µÄ×Ö½Ú·¶Î§±êÍ·

Íê³ÉÎļþ·ÃÎÊ
System.IO.FileStream

FileStream ¶ÔÏóÖ§³ÖʹÓÃSeek·½·¨¶ÔÎļþ½øÐÐËæ»ú·ÃÎÊ, Seek ÔÊÐí½«¶ÁÈ¡/дÈëλÖÃÒÆ¶¯µ½ÎļþÖеÄÈÎÒâλÖá£ÕâÊÇͨ¹ý×Ö½ÚÆ«ÒƲο¼µã²ÎÊýÍê³ÉµÄ¡£×Ö½ÚÆ«ÒÆÁ¿ÊÇÏà¶ÔÓÚ²éÕҲο¼µã¶øÑԵģ¬¸Ã²Î¿¼µã¿ÉÒÔÊÇ»ù´¡ÎļþµÄ¿ªÊ¼¡¢µ±Ç°Î»Öûò½á⣬·Ö±ðÓÉSeekOriginÀàµÄÈý¸öÊôÐÔ±íʾ¡£

´úÂëʵÏÖ
Á˽âÁË.NETÌṩµÄÏà¹ØµÄÀ࣬ÄÇô£¬ÎÒÃǾͿÉÒÔ·½±ãµÄʵÏÖÁË¡£

´úÂëÈçÏ£º

static void Main(string[] args)

{

string StrFileName="c:\\aa.zip"; //¸ù¾Ýʵ¼ÊÇé¿öÉèÖÃ

string StrUrl="http://www.xxxx.cn/xxxxx.zip"; //¸ù¾Ýʵ¼ÊÇé¿öÉèÖÃ

//´ò¿ªÉÏ´ÎÏÂÔØµÄÎļþ»òн¨Îļþ

long lStartPos =0;

System.IO.FileStream fs;

if (System.IO.File.Exists(StrFileName))

{

fs= System.IO.File.OpenWrite(StrFileName);

lStartPos=fs.Length;

fs.Seek(lStartPos,System.IO.SeekOrigin.Current); //ÒÆ¶¯ÎļþÁ÷Öеĵ±Ç°Ö¸Õë

}

else

{

fs = new System.IO.FileStream(StrFileName,System.IO.FileMode.Create);

lStartPos =0;

}

//´ò¿ªÍøÂçÁ¬½Ó

try

{

System.Net.HttpWebRequest request =(System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(StrUrl);

if ( lStartPos>0)

request.AddRange((int)lStartPos); //ÉèÖÃRangeÖµ

//Ïò·þÎñÆ÷ÇëÇ󣬻ñµÃ·þÎñÆ÷»ØÓ¦Êý¾ÝÁ÷

System.IO.Stream ns= request.GetResponse().GetResponseStream();

byte[] nbytes = new byte[512];

int nReadSize=0;

nReadSize=ns.Read(nbytes,0,512);

while( nReadSize >0)

{

fs.Write(nbytes,0,nReadSize);

nReadSize=ns.Read(nbytes,0,512);

}

ÎÄÕÂÕûÀí£ºÎ÷²¿ÊýÂë--רҵÌṩÓòÃû×¢²á¡¢ÐéÄâÖ÷»ú·þÎñ
http://www.west263.com
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!