px普贤教程PuXian
普贤教程 › 包参考

ftp 包

FTP 客户端(RFC 959)

纯 .px 实现(TCP + 控制/数据双连接),编译(px build)与解释(px run)双模式一致。

项值
包名ftp
版本0.2.0
可用版本0.1.0 / 0.2.0
入口ftp.px
分类网络与协议
文件数 / 行数1 / 311

安装与引入

bash
pxpkg init          # 首次
pxpkg add ftp@0.2.0
pxpkg install
px
import ftp
所属分类教程:网络与协议

公开接口

函数参数
ft_connecthost, port=21, opts={}
ft_loginconn, user, password
ft_cmdconn, cmd, ok_codes
ft_pwdconn
ft_cwdconn, path
ft_quitconn
ft_typeconn, t
ft_systconn
ft_listconn, path=""
ft_retrconn, path
ft_storconn, path, data
ft_appendconn, path, data
ft_mkdirconn, path
ft_rmdirconn, path
ft_deleteconn, path
ft_renameconn, old, new
ft_sizeconn, path
ft_mdtmconn, path
ft_restconn, offset
其余 7 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
ft_recv_nfd, n
ft_read_linefd
ft_sendfd, cmd
ft_read_replyfd
ft_expectfd, cmd, oks
ft_trims
ft_pasv_openconn

包内说明(源码头注释)

text
============================================================
普贤生态库:registry/ftp —— FTP 客户端(RFC 959)
------------------------------------------------------------
纯 .px 实现(TCP + 控制/数据双连接),编译(px build)与解释(px run)双模式一致。
对齐 Go jlaffaye/ftp / Python ftplib 心智:
ft_connect(host[, port=21][, opts]) → Ok(conn) | Err   读 220 问候
ft_login(conn, user, password)      → Ok(conn) | Err   USER→3xx / PASS→2xx
ft_cmd(conn, cmd, ok_codes)         → Ok([code, msg]) | Err
ft_pwd(conn)                        → Ok(str)
ft_cwd(conn, path)                  → Ok([code, msg])
ft_quit(conn)                       → Ok(true)
ft_list(conn[, path])               → Ok([str])(PASV + LIST)
ft_retr(conn, path)                 → Ok(str)
ft_stor(conn, path, data)           → Ok(true)
ft_append(conn, path, data)         → Ok(true)(APPE 追加写)
ft_mkdir(conn, path)                → Ok([code, msg])(MKD)
ft_rmdir(conn, path)                → Ok([code, msg])(RMD)
ft_delete(conn, path)               → Ok([code, msg])(DELE)
ft_rename(conn, old, new)           → Ok(true)(RNFR + RNTO)
ft_size(conn, path)                 → Ok(int)(SIZE)
ft_mdtm(conn, path)                 → Ok(str)(MDTM,YYYYMMDDHHMMSS)
ft_type(conn, t)                    → Ok([code, msg])(TYPE I/A)
ft_syst(conn)                       → Ok(str)(SYST)
ft_rest(conn, offset)               → Ok([code, msg])(REST 断点续传)
说明:被动模式(PASV);控制行 \r\n/\n 兼容;1xx 续行读到终码。
============================================================