【发布时间】:2014-12-04 10:54:48
【问题描述】:
我有一个奇怪的案例,客户端的 FTP 服务器可以在 Web 浏览器中完全浏览,但不能在文件资源管理器中浏览。
这是我在 IE 中看到的:
这就是我在 Windows 资源管理器中看到的内容:
我真正想要的是编写代码来从这个 ftp 目录中读取文件列表:
Dim ftpRequest As FtpWebRequest = CType(WebRequest.Create(ftpServer), FtpWebRequest)
ftpRequest.Credentials = New NetworkCredential(ftpServerUsername, ftpServerPassword)
ftpRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails
Dim ftpResponse As FtpWebResponse = CType(ftpRequest.GetResponse(), FtpWebResponse)
Dim ftpResponseStream As Stream = ftpResponse.GetResponseStream()
Dim ftpResponseStreamReader As StreamReader = New StreamReader(ftpResponseStream)
Console.WriteLine(ftpResponseStreamReader.ReadToEnd())
ftpResponseStreamReader.Close()
ftpResponseStream.Close()
ftpResponse.Close()
但代码失败并出现 451 错误:
远程服务器返回错误:(451) Local error in processing。
(详细信息:451 请求的操作已中止:处理中的本地错误)
问题:
为什么 FTP 可以在 IE 上浏览,但现在可以在 Windows 上浏览?我应该告诉我的 客户端更改 FTP 设置上的一些属性以使其 在 Windows 中可浏览目录?
(1)是否必要?相反是 可以添加/更改我的代码以模仿网络浏览,以便 可以读取文件列表吗?
【问题讨论】:
-
您是否尝试过在 Windows 资源管理器 URL 中嵌入用户名和密码。即“f t p://用户名:密码@IP地址”(我在评论中遇到问题 - 显然没有空格)。
-
@Ciaran:哇!这样可行!我现在可以在 Windows 资源管理器中看到 FTP。但是当我把代码中的输入网址改成这种格式时还是不行! :(
-
很高兴为您提供帮助,-我自己没有使用 ftpRequest,因此无法评论您的其余问题。从 FTP 服务器获取文件列表是一个相当标准的操作,所以我相信其他人会帮助您。
标签: vb.net internet-explorer ftp windows-explorer