【问题标题】:FTP Directory browsable in Internet Explorer but not in Windows Explorer; VB.NET code to fake web browsingFTP 目录可在 Internet Explorer 中浏览,但不能在 Windows Explorer 中浏览; VB.NET 代码伪造网页浏览
【发布时间】: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 请求的操作已中止:处理中的本地错误)


问题:

  1. 为什么 FTP 可以在 IE 上浏览,但现在可以在 Windows 上浏览?我应该告诉我的 客户端更改 FTP 设置上的一些属性以使其 在 Windows 中可浏览目录?

  2. (1)是否必要?相反是 可以添加/更改我的代码以模仿网络浏览,以便 可以读取文件列表吗?

【问题讨论】:

  • 您是否尝试过在 Windows 资源管理器 URL 中嵌入用户名和密码。即“f t p://用户名:密码@IP地址”(我在评论中遇到问题 - 显然没有空格)。
  • @Ciaran:哇!这样可行!我现在可以在 Windows 资源管理器中看到 FTP。但是当我把代码中的输入网址改成这种格式时还是不行! :(
  • 很高兴为您提供帮助,-我自己没有使用 ftpRequest,因此无法评论您的其余问题。从 FTP 服务器获取文件列表是一个相当标准的操作,所以我相信其他人会帮助您。

标签: vb.net internet-explorer ftp windows-explorer


【解决方案1】:

Ciarán 的评论有助于通过 Windows 资源管理器访问文件:ftp://username:password@IPAddress/ 格式的 URL 有效。


然而,对于代码,URL 末尾的斜杠“/”起到了作用!

我将目录名称从 ftp://server/directory 更改为 ftp://server/directory/ 和 BOOM! VB 能够检索文件列表!

我在 IE 中尝试过同样的操作,结果如下:

ftp://193.XX.XX.XX/flog:

ftp://193.XX.XX.XX/flog/:(注意目录名末尾的“/”)

任何在这里遇到(451) Local error in processing 的人都可以试试这个,看看是否有帮助!

补充说明: ftp://username:password@IPAddress/ 格式的 URL(再次注意结尾“/”)也适用于代码。有了这个,你可以跳过ftpRequest.Credentials = ...这一行。

【讨论】:

    猜你喜欢
    • 2020-10-02
    • 2016-03-12
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    • 2015-05-08
    相关资源
    最近更新 更多