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