首页 新闻 搜索 专区 学院

C# FTP 下载文件时,报 The remote server returned an error: (407) Proxy Authentication Required.

0
悬赏园豆:15 [已解决问题] 解决于 2015-01-22 16:55

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();
        }

Albert Fei的主页 Albert Fei | 老鸟四级 | 园豆:2102
提问于:2014-09-28 16:24
< >
分享
最佳答案
0

最后我帮你找到了这个。

老外的。

http://blogs.msdn.com/b/jpsanders/archive/2009/03/24/httpwebrequest-webexcepton-the-remote-server-returned-an-error-407-proxy-authentication-required.aspx

希望能帮到你。貌似说的是需要代理身份验证,我英语不好,看得不是很懂。= -!你看看吧!

收获园豆:15
贫民窟大侠 | 老鸟四级 |园豆:4276 | 2014-09-28 16:44

谢谢!这个方法好像不好使,还报什么500错误码。

The remote server returned an error: (500) Internal Server Error

关键是我自己写的代码运行下载文件就出错,而用winSCP 这个工具就没有问题,也不要什么代理,也不报内容错误;我自己的代码也就那么几行,能想的都想到了,无法查明是哪里出了问题。

代理的话,还有就是我暂时还没有代理用户名和密码。

Albert Fei | 园豆:2102 (老鸟四级) | 2014-09-29 13:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册