“FTP 代理”可以指一个自己讲 FTP 的网关。连接它与向 HTTP 代理请求 CONNECT 或请求 SOCKS 服务器打开一个 TCP 目的地并不相同。

网关需要目标主机和账户,也可能先需要自己的登录。各产品用不同方式表达这段对话:

安排典型命令形式
目标编码在用户名中USER target-user@target-host
单独的网关登录网关 USER/PASS,随后是目标登录
显式的目的地命令SITE target-host 或 OPEN target-host,然后是所需的登录

这些是约定家族,而不是发给每个网关的唯一标准顺序。请选择管理员有文档记录且客户端支持的方案。

在配置中让两个账户都保持可见

目标 FTP 密码和网关密码可能不同。有些网关把它们合并成一种 USER/PASS 表示;另一些则要求分开交换。把所有值放进一个字符串,无法再现一个必须发送附加命令的客户端。

这解释了旧 FtpWebRequest 代码中一个有意义的边界。使用网关专用用户名的普通 FTP 连接,可以符合某些 USER/PASS 安排。要求单独 SITE 或 OPEN 对话的网关,需要真正支持该流程的客户端。WebRequest 的 Proxy 属性又是另一个接口。

例如 WinSCP 提供彼此不同的 FTP 代理登录方式,而不是把所有网关都当作一个主机字段。它的数字型原始设置值属于其有文档记录的 API;审查配置时应使用方式名称和预期的对话。

登录之后,文件传输仍然需要其 FTP 数据连接以及所选的 TLS 模式。控制通道登录成功只是这条路径的开始,并不能证明每一次数据传输都已获允许。

相关文章