การทำ FTP server ผู้อ่านคงนึกไปถึงการตั้ง server แล้วลงไลบรารีต่าง ๆ และตั้งค่า port user ต่าง ๆ และยุ่งยาก หากเราต้องการสร้าง FTP server จำลองในเครื่องเราเองหรือเครื่องที่เชื่อมต่อผ่านอินเทอร์เน็ต ผมจะขอแนะนำโมดูล pyftpdlib สร้าง FTP server บนภาษา Python
โมดูล pyftpdlib เป็นโมดูลสำหรับใช้สร้าง FTP server บนภาษา Python เข้ากันได้กับมาตรฐาน RFC-959 ครับ
- มีขนาดเล็ก เร็ว มีประสิทธิภาพไม่ต่างกันกับ proftpd
- สนับสนุน FTPS (RFC-4217), IPv6 (RFC-2428), Unicode file names (RFC-2640),MLSD/MLST commands (RFC-3659).
- รองรับทั้ง Python 2 และ Python 3
- ใช้งานได้ทั้ง UNIX และ Windows
- ใช้ MIT license
สามารถติดตั้งได้โดยใช้คำสั่ง pip :
pip install pyftpdlib
ตัวอย่างการสร้าง ftp server
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
authorizer = DummyAuthorizer()
authorizer.add_user("user", "12345", "/home/giampaolo",perm="elradfmw") # สร้าง user ชื่อ user รหัส 12345 ที่ตั้ง ftp คือ /home/giampaolo
authorizer.add_anonymous("/home/nobody") # สร้างสิทธิ์ให้เข้าถึงโฟลเลอร์ /home/nobody ให้ user คนทั่วไป
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer(("127.0.0.1", 21), handler) # กำหนดค่า Server คือ 127.0.0.1 port 21
server.serve_forever() # ทำงาน
รันแล้วเข้าไปที่ ftp://127.0.0.1:21
โมดูลนี้แม้แต่ Google ยังใช้ใน Google Chrome ครับ จะเห็นได้ว่า ภาษา Python มีการนำไปใช้ในโปรแกรมและบริการต่าง ๆ ที่ผมและผู้อ่านอาจรู้และไม่รู้อีกมาก นำไปใช้งานได้หลากหลายทางกว่าภาษาสคริปหลาย ๆ ภาษาครับ
อ่านเอกสารการใช้งานโมดูล pyftpdlib ได้ที่ http://pythonhosted.org/pyftpdlib/tutorial.html
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)