Hon*_*ong 13 ftp windows-7 command-line
我使用的是 Windows 7 并且有多个 FTP 客户端应用程序可以正常工作。但是,当我使用命令行 FTP 时,我可以连接、登录(输入用户名和密码后),但是使用 dir 或 ls 命令时总是断开连接。回应是:
远程主机关闭了连接。
我该如何解决这个问题?
hoo*_*enz 15
当服务器尝试连接回您但无法连接时,您通常会看到这种类型的事情发生。FTP 最初使用两个TCP通道。一个用于命令,另一个用于传输数据。当您运行 dir 命令时,它使用数据通道。数据通道是按需建立的,并导致服务器尝试重新连接到您。
这很可能被您的路由器或 Windows 防火墙阻止。您需要一个支持PASV模式的客户端。
您可以在 Internet Explorer 中启用 PASV 模式。或者使用不同的客户端。我不确定命令行版本是否可以使用 PASV 模式。这是一个非常基本的客户端。
小智 5
一旦我登录到有问题的框,我就遇到了通过 FTP 传输文件的问题。它会创建文件名,但文件是空的。我通过执行以下操作解决了它:
现在去应该不错。
Windows FTP 命令行客户端ftp.exe仅支持主动 FTP 模式。
由于防火墙和 NAT,如今在主动模式下设置 FTP 可能很麻烦。
可能是因为您的本地防火墙或 NAT,服务器无法连接回您的客户端以建立目录列表(ls或dir命令)的数据传输连接。
或者您的客户端不知道其外部 IP 地址,而是向服务器提供内部地址(在PORT命令中),服务器显然无法使用该地址。
请参阅我的文章主动模式的网络配置。
如果可能,您应该使用被动模式,因为它通常不需要在客户端进行额外设置。
不幸的是,Windows FTP 命令行客户端 (the ftp.exe) 根本不支持被动模式。这使它在今天非常无用。
请改用任何其他 Windows FTP 命令行客户端。大多数其他支持被动模式。
例如 WinSCP 默认为被动模式,并且有一个指南可用于将Windows FTP 脚本转换为 WinSCP 脚本。
(我是 WinSCP 的作者)
| 归档时间: |
|
| 查看次数: |
119045 次 |
| 最近记录: |