普贤教程 › 包参考
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_connect | host, port=21, opts={} |
ft_login | conn, user, password |
ft_cmd | conn, cmd, ok_codes |
ft_pwd | conn |
ft_cwd | conn, path |
ft_quit | conn |
ft_type | conn, t |
ft_syst | conn |
ft_list | conn, path="" |
ft_retr | conn, path |
ft_stor | conn, path, data |
ft_append | conn, path, data |
ft_mkdir | conn, path |
ft_rmdir | conn, path |
ft_delete | conn, path |
ft_rename | conn, old, new |
ft_size | conn, path |
ft_mdtm | conn, path |
ft_rest | conn, offset |
其余 7 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
ft_recv_n | fd, n |
ft_read_line | fd |
ft_send | fd, cmd |
ft_read_reply | fd |
ft_expect | fd, cmd, oks |
ft_trim | s |
ft_pasv_open | conn |
包内说明(源码头注释)
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 续行读到终码。 ============================================================