pyftpdlib的API

pyftpdlib.authorizers.DummyAuthorizer
add_anonymous(homedir, **kwargs)
remove_user(username)
add_user(username,password,homedir,perm=”elr”,msg_login=”Login successful.”, msg_quit=”Goodbye.”)
Read permissions:
“e” = change directory (CWD, CDUP commands)
“l” = list files (LIST, NLST, STAT, MLSD, MLST, SIZE commands)
“r” = retrieve file from the server (RETR command)
Write permissions:
“a” = append data to an existing file (APPE command)
“d” = delete file or directory (DELE, RMD commands)
“f” = rename file or directory (RNFR, RNTO commands)
“m” = create directory (MKD command)
“w” = store a file to the server (STOR, STOU commands)
“M” = change mode/permission (SITE CHMOD command) New in 0.7.0
class pyftpdlib.handlers.FTPHandler(conn, server)
timeout
客戶端長時間沒反應,就斷開連接,默認300秒
banner
連接時給客戶端返回的信息,可以自己設置
max_login_attempts
要是一直登陸錯誤,就斷開(防止暴力攻擊)
permit_foreign_addresses
是否啓用FXP特性,也就是文件交換協議,從此FTP服務器到另外的FTP服務器,默認False
masquerade_address
僞裝IP,也就是被動模式,用於NAT之後,比喻服務器在防火牆、路由器後面的情況,默認不開啓
passive_ports
被動傳輸時指定端口,參數是一個整數列表,默認關閉
use_gmt_times
使用格林尼治時間,默認是True
tcp_no_delay
默認是True,廢除擁塞控制,以加快速度
on_connect()
客戶端連接時調用
on_disconnect()
客戶端斷開時調用
on_login(username)
用戶登錄時調用
on_login_failed(username, password)
用戶登錄失敗時調用
on_file_sent(file)
傳輸成功時調用,file就是文件名
on_file_received(file)
接受成功時候調用,file就是文件名
on_incomplete_file_sent(file)
沒有被完整發送的時候調用
on_incomplete_file_received(file)
沒有完整接受的時候調用
class pyftpdlib.handlers.DTPHandler(sock_obj, cmd_channel)
sock_obj 是新建的socket類實例,cmd_channel是pyftpdlib.handlers.FTPHandler的類實例

timeout

ac_in_buffer_size

ac_out_buffer_size

數據接受或者傳輸時候的緩衝大小,默認65536字節

class pyftpdlib.handlers.ThrottledDTPHandler(sock_obj, cmd_channel)
read_limit
默認是0,代表不限制接受速度
write_limit
默認是0,不限制發送速度
class pyftpdlib.servers.FTPServer(address_or_socket, handler, ioloop=None, backlog=100)
max_cons
最大連接數,默認是512
max_cons_per_ip
每個IP的最大連接數,默認值是0,代表沒有限制
serve_forever(timeout=None, blocking=True, handle_exit=True)
啓動服務器
close()
關閉當前連接
close_all()
關閉所有的連接
class pyftpdlib.filesystems.AbstractedFS(root, cmd_channel)
root
用戶的主目錄
cwd
用戶的當前工作目錄

validpath(path)

檢查path是否屬於用戶的目錄,如果不是,就返回False

open(filename, mode)

封裝了open()函數

mkdir(path)

chdir(path)
listdir(path)
rmdir(path)
remove(path)
rename(src, dst)
chmod(path, mode)
stat(path)
lstat(path)
readlink(path)
功能和os模塊相同

isfile(path)
islink(path)
isdir(path)
getsize(path)
getmtime(path)
realpath(path)

lexists(path)
功能和os.path模塊相同

mkstemp(suffix=”, prefix=”, dir=None, mode=’wb’)

封裝了 tempfile.mkstemp.

class pyftpdlib.handlers.TLS_FTPHandler(conn, server)
用於實現身份驗證,採用openssl, PyOpenSSL模塊需要先安裝

certfile

包含證書的文件路徑,必須指定

keyfile

私鑰的路徑

tls_control_required

默認False,,爲True的時候,建立加密控制通道,但要先認證

tls_data_required

默認False,,爲True的時候,建立加密數據傳輸通道,但要先確定端口

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章