这几天,老大让做一个从网页上下载的程序,好我的乖乖,没接触过ASP.NET可是吃了大亏了,遇到好多问题,接下来要好好攻克ASP.NET。记录一下遇到的问题。
1、远程服务器返回错误: 已禁止。
这个问题是因为匿名ftp的问题。引用百度百科的话:使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可下载或上传文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。这种情况违背了Internet的开放性,Internet上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有帐号。匿名FTP就是为解决这个问题而产生的。
匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。系统管理员建立了一个特殊的用户ID,名为anonymous, Internet上的任何人在任何地方都可使用该用户ID。
解决方案:所以,出现了建议不要使用用户名加密码的方式登录,而是使用匿名方式登录。即把代码:
FtpWebRequest result = (FtpWebRequest)FtpWebRequest.Create(URI);
result.Credentials = new System.Net.NetworkCredential("用户名", "密码");
换为
FtpWebRequest result = (FtpWebRequest)FtpWebRequest.Create(URI);
result.Credentials = new System.Net.NetworkCredential("anonymous", "");
2、远程服务器返回错误: 未登录。
这个问题同样是使用上面的方法就可以解决,不解释。
3、远程服务器返回错误: 无法打开数据连接。
这个问题,是偶然发现的,因为当时是从外网下载ftp,无意中发现,需要翻墙才能打开数据库,才能登陆成功。
放在最后的话:
世上无难事只怕有心人,只要认真钻研,一切问题都会慢慢解决的。