FTP请求,在调用(FtpWebResponse)webRequest.GetResponse()时, 总是报 The remote server returned an error: (407) Proxy Authentication 错误, 代码见下面:
说明:1) new NetworkCredential(_userName, _password) 处, 用户名, 密码是正确的.
2) 我在WinSCP 工具上用相同的用户名和密码可以 (FTP方式)登录并下载服务器上的文件, 且没有报需要验证代理错误。
真是想不通为什么我用代码连接时就要代理验证, 而工具就不用?
public void DownloadFile(string filePath, string fileName)
{
Uri requesUri = new Uri(Path.Combine(_uri, fileName));
FtpWebRequest webRequest = (FtpWebRequest)WebRequest.Create(requesUri);
webRequest.Method = WebRequestMethods.Ftp.DownloadFile;
webRequest.Proxy = System.Net.WebRequest.GetSystemWebProxy();
webRequest.KeepAlive = true;
webRequest.EnableSsl = false;
webRequest.UseBinary = true;
webRequest.Credentials = new NetworkCredential(_userName, _password);
FtpWebResponse webResponse = (FtpWebResponse)webRequest.GetResponse();
Console.WriteLine(string.Format("Status:{0},{1}",webResponse.StatusCode, webResponse.StatusDescription));
webResponse.Close();
}
最后我帮你找到了这个。
老外的。
希望能帮到你。貌似说的是需要代理身份验证,我英语不好,看得不是很懂。= -!你看看吧!
谢谢!这个方法好像不好使,还报什么500错误码。
The remote server returned an error: (500) Internal Server Error
关键是我自己写的代码运行下载文件就出错,而用winSCP 这个工具就没有问题,也不要什么代理,也不报内容错误;我自己的代码也就那么几行,能想的都想到了,无法查明是哪里出了问题。
代理的话,还有就是我暂时还没有代理用户名和密码。