3. FTP Client
3 FTP 客户端
3.1 入门
FTP 客户端被认为是相当临时的。因此,它们仅在运行时启动和停止,并且无法在应用程序启动时启动。FTP 客户端 API 旨在允许某些函数返回中间结果。这意味着只有启动 FTP 客户端的进程才能以保留的理智语义访问它。如果启动FTP会话的进程终止,则FTP客户端进程终止。
只要基础机制也这样做,客户端就支持 IPv6。
以下是 FTP 会话的简单示例,其中用户guest
使用密码password
登录到远程主机erlang.org
:
1> inets:start().
ok
2> {ok, Pid} = inets:start(ftpc, [{host, "erlang.org"}]).
{ok,<0.22.0>}
3> ftp:user(Pid, "guest", "password").
ok
4> ftp:pwd(Pid).
{ok, "/home/guest"}
5> ftp:cd(Pid, "appl/examples").
ok
6> ftp:lpwd(Pid).
{ok, "/home/fred"}.
7> ftp:lcd(Pid, "/home/eproj/examples").
ok
8> ftp:recv(Pid, "appl.erl").
ok
9> inets:stop(ftpc, Pid).
ok
文件appl.erl
从远程传输到本地主机。当会话被打开,在远程主机的当前目录/home/guest
,并/home/fred
在本地主机。在传输文件之前,当前本地目录更改为/home/eproj/examples
,并且远程目录设置为/home/guest/appl/examples
。