FTP 代理服务器登录脚本
登录脚本定义 FTP 客户端如何与 FTP 代理服务器通信,以连接到所需 FTP 服务器。FTP 代理服务器充当 FTP 服务器。客户端先连接代理服务器,并发送所有必需参数:代理服务器用户名和密码(可选)、目标 FTP 服务器地址和端口,以及该 FTP 服务器的用户名和密码。代理服务器再连接目标 FTP 服务器,并转发客户端与 FTP 服务器之间的所有命令及响应。
登录脚本说明
登录脚本第一行始终为 "Connect to:",后跟以 ":" 字符分隔的服务器地址和端口。它们定义客户端应连接的位置。必须定义服务器地址;未定义端口时,默认为 21。
其余行包含发送到服务器的命令,每行仅有一条命令。行内可包含变量,发送命令前会展开变量。
变量分为可选和必需两种。区别在于:命令行中使用的变量未由用户定义时如何处理。若可选变量未定义,会跳过整行命令;若必需变量未定义,会打开对话框,要求用户指定值(或取消连接)。变量以 "$" 开头,并放在括号中,例如 "$(Password)"。字符 "$" 的转义序列为 "$$"。
以 "3xx:" 开头的行,在前一行命令被跳过或服务器对该命令的响应不是 3xx 时会被跳过。3xx 表示 FTP 响应的首位数字为 "3"(“部分成功”),用于命令序列,含义为继续发送序列中的下一条命令(例如用户名已接受,因此应发送密码)。
登录脚本首行的限制:服务器地址只能定义为不含变量的文本,或仅包含 ProxyHost 或 Host 变量的文本;服务器端口只能定义为十进制数字,或 ProxyPort 或 Port 变量。
如果对已发送命令的响应均不是 4xx 或 5xx(4xx 为临时错误,5xx 为永久错误),且最后一条命令的响应为 2xx(表示成功),则认为登录序列成功,用户已连接到 FTP 服务器。
变量
支持以下变量:
| 变量 | 说明 |
|---|---|
| ProxyHost | 必需;代理服务器(防火墙)的名称或 IP 地址 |
| ProxyPort | 始终定义;代理服务器(防火墙)监听的端口号;用户未指定时,默认端口为 21 |
| ProxyUser | 可选;代理服务器(防火墙)的用户名 |
| ProxyPassword | 必需;代理服务器(防火墙)的密码 |
| Host | 始终定义;目标 FTP 服务器的名称或 IP 地址 |
| Port | 始终定义;目标 FTP 服务器监听的端口号;用户未指定时,默认端口为 21 |
| User | 必需;目标 FTP 服务器的用户名 |
| Password | 必需;目标 FTP 服务器的密码 |
| Account | 必需;目标 FTP 服务器的账户 |
示例
直接连接(不使用代理)的登录脚本:
Connect to: $(Host):$(Port) USER $(User) 3xx: PASS $(Password) 3xx: ACCT $(Account)
类型为 "USER user@host:port" 的 FTP 代理服务器登录脚本:
Connect to: $(ProxyHost):$(ProxyPort) USER $(ProxyUser) 3xx: PASS $(ProxyPassword) USER $(User)@$(Host):$(Port) 3xx: PASS $(Password) 3xx: ACCT $(Account)
另请参阅
From the Sally manual (GPL-2.0-or-later), © 1997-2023 Open Salamander Authors; © 2025-2026 Elias Bachaalany. Source: manual source (zip) · original page in the Sally repository