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