从网上找了一个下载文件的例子,但是不能下载网上的东西,不知道为什么?
如:我要下载:http://www.csdn.net/images/homeimage/csdn.gif  却一直报连接有问题,但我用本地的机器启动tomcat,下载:http://127.0.0.1/aaa.gif 却能成功下载,不知道是为什么?难道是权限?
网上的代码如下:
-----------------------------------------------------
using System; 
using System.Drawing; 
using System.Collections; 
using System.ComponentModel; 
using System.Windows.Forms; 
using System.Data; 
using System.Net; 
using System.IO; 
using System.Threading; 
   
namespace MyGetCar 

/// 
/// Form1 的摘要说明。 
/// 
public class Form1 : System.Windows.Forms.Form 

private System.Windows.Forms.Label label1; 
private System.Windows.Forms.Label label2; 
private System.Windows.Forms.TextBox srcAddress; 
private System.Windows.Forms.TextBox tarAddress; 
private System.Windows.Forms.StatusBar statusBar; 
private System.Windows.Forms.Button Start; 
   
private WebClient client = new WebClient(); 
   
/// 
/// 必需的设计器变量。 
/// 
private System.ComponentModel.Container components = null; 
   
public Form1() 

// 
// Windows 窗体设计器支持所必需的 
// 
InitializeComponent(); 
   
// 
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码 
// 

   
/// 
/// 清理所有正在使用的资源。 
/// 
protected override void Dispose( bool disposing ) 

if( disposing ) 

if (components != null) 

components.Dispose(); 


base.Dispose( disposing ); 

   
#region Windows Form Designer generated code 
/// 
/// 设计器支持所需的方法 - 不要使用代码编辑器修改 
/// 此方法的内容。 
/// 
private void InitializeComponent() 

this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.srcAddress = new System.Windows.Forms.TextBox();
this.tarAddress = new System.Windows.Forms.TextBox();
this.statusBar = new System.Windows.Forms.StatusBar();
this.Start = new System.Windows.Forms.Button();
this.SuspendLayout();
// 
// label1
// 
this.label1.Location = new System.Drawing.Point(7, 30);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(81, 18);
this.label1.TabIndex = 0;
this.label1.Text = "文件地址:";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// 
// label2
// 
this.label2.Location = new System.Drawing.Point(7, 67);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(60, 21);
this.label2.TabIndex = 1;
this.label2.Text = "另存到:";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
// 
// srcAddress
// 
this.srcAddress.Location = new System.Drawing.Point(88, 30);
this.srcAddress.Name = "srcAddress";
this.srcAddress.Size = new System.Drawing.Size(180, 20);
this.srcAddress.TabIndex = 2;
this.srcAddress.Text = "";
// 
// tarAddress
// 
this.tarAddress.Location = new System.Drawing.Point(88, 67);
this.tarAddress.Name = "tarAddress";
this.tarAddress.Size = new System.Drawing.Size(180, 20);
this.tarAddress.TabIndex = 3;
this.tarAddress.Text = "";
// 
// statusBar
// 
this.statusBar.Location = new System.Drawing.Point(0, 121);
this.statusBar.Name = "statusBar";
this.statusBar.Size = new System.Drawing.Size(288, 21);
this.statusBar.TabIndex = 4;
// 
// Start
// 
this.Start.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.Start.Location = new System.Drawing.Point(104, 96);
this.Start.Name = "Start";
this.Start.Size = new System.Drawing.Size(62, 22);
this.Start.TabIndex = 5;
this.Start.Text = "开始下载";
this.Start.Click += new System.EventHandler(this.Start_Click);
// 
// Form1
// 
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(288, 142);
this.Controls.Add(this.Start);
this.Controls.Add(this.statusBar);
this.Controls.Add(this.tarAddress);
this.Controls.Add(this.srcAddress);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.MaximizeBox = false;
this.Name = "Form1";
this.Text = "文件下载器";
this.ResumeLayout(false); } 
#endregion 
   
/// 
/// 应用程序的主入口点。 
/// 
[STAThread] 
static void Main() 

Application.Run(new Form1()); 

   
private void StartDownload() 

Start.Enabled = false; 
string URL = srcAddress.Text; 
int n = URL.LastIndexOf('/'); 
string URLAddress = URL.Substring(0,n); 
string fileName = URL.Substring(n+1,URL.Length-n-1); 
string Dir = tarAddress.Text; 
string Path = Dir+'\\'+fileName; 
   
try 

WebRequest myre=WebRequest.Create(URLAddress); 

catch(WebException exp) 

MessageBox.Show(exp.Message,"Error"); 

   
try 

statusBar.Text = "开始下载文件..."; 
client.DownloadFile(URLAddress,fileName); 
Stream str = client.OpenRead(URLAddress); 
StreamReader reader = new StreamReader(str); 
byte[] mbyte = new byte[100000]; 
int allmybyte = (int)mbyte.Length; 
int startmbyte = 0; 
statusBar.Text = "正在接收数据..."; 
while(allmybyte>0) 

int m = str.Read(mbyte,startmbyte,allmybyte); 
if(m==0) 
break; 
   
startmbyte+=m; 
allmybyte-=m; 

   
FileStream fstr = new FileStream(Path,FileMode.OpenOrCreate,FileAccess.Write); 
fstr.Write(mbyte,0,startmbyte); 
str.Close(); 
fstr.Close(); 
   
statusBar.Text = "下载完毕!"; 

catch(WebException exp) 

MessageBox.Show(exp.Message,"Error"); 
statusBar.Text = ""; 

   
Start.Enabled = true; 

   
   
private void Start_Click(object sender, System.EventArgs e) 

Thread th = new Thread(new ThreadStart(StartDownload)); 
th.Start();