选择你的网关所期望的 FTP 代理登录方式
将原生 FTP 网关的 USER、SITE 或 OPEN 对话与支持它的客户端相匹配,并把网关账户与目标账户分开保存。
“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 模式。控制通道登录成功只是这条路径的开始,并不能证明每一次数据传输都已获允许。