logo

使用 HttpWebRequest 下载任意类型的文件

作者:孟宪会 阅读:2979 发表于:2011-01-11 14:38:04

收藏以备后用。

C# 代码
String url = "http://img04.taobaocdn.com/sns_album/i4/T1yAdWXgdGXXb1upjX.jpg";
String fileName
= url.Substring(url.LastIndexOf("/") + 1);
String refer
= url.Substring(0, url.LastIndexOf("/") + 1);
System.Net.HttpWebRequest req
= System.Net.HttpWebRequest.Create(url) as System.Net.HttpWebRequest;
req.AllowAutoRedirect
= true;
req.Referer
= refer;
req.UserAgent
= "Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13";
//req.Headers.Add("Accept-Language","zh-cn,en-us;q=0.8,zh-hk;q=0.6,ja;q=0.4,zh;q=0.2");
System.Net.HttpWebResponse res
= req.GetResponse() as System.Net.HttpWebResponse;
System.IO.Stream stream
= res.GetResponseStream();
byte[] buffer = new byte[32 * 1024];
int bytesProcessed = 0;
System.IO.FileStream fs
= System.IO.File.Create(Server.MapPath(fileName));
int bytesRead;
do
{
  bytesRead
= stream.Read(buffer, 0, buffer.Length);
  fs.Write(buffer,
0, bytesRead);
  bytesProcessed
+= bytesRead;
}
while (bytesRead > 0);
fs.Flush();
fs.Close();
res.Close();