老闆來碗麪
“老闆 來碗麪”
“要啥面?”
“內牛滿面…”
最近項目上的事情弄得人心累,本來是幫着兄弟項目寫套入口代碼,搞着搞着就被拉着入坑了。搞開發的都知道,最怕弄這種項目portal的東西,你調用一堆東西,結果各種調用報錯都反饋到你這裏,導致的結果就是除了啥問題都找你。
最形象的比喻就是,眼前一棟樓,你是看門的。電梯壞了找你、住戶被盜了找你、連誰家下水不通了也找你,各種無厘頭的破事兒,我就想送出一張圖…
共享文件
熟悉Python的朋友們都知道,python自帶了一個***Simple HTTP Server***,可以使用一行代碼完成文件的局域網共享操作。
首先進入你需要設置的http服務器目錄 (我以自己電腦路徑:F:/Working~Study) ,即進入到該目錄下,然後:
- python2:
python -m SimpleHTTPServer port
- python3:
python -m http.server port
我是用一個8888的端口啓動服務,最終的共享效果,如下圖:
通過一行代碼,我們完成了文件共享的http服務,但這個服務有幾個問題,僅提供了下載功能無法上傳,最重要的是沒有權限控制功能,這就極其不安全了!該如何解決這個問題呢?我之前用Flask寫了一個功能更完善的httpserver:
喜歡的朋友可以去看看這篇歷史文章: https://www.jianshu.com/p/a5c4dca321f2
通過自己編碼的方式實現了相關功能,但是能否想httpserver一樣更快速的搭建一個文件共享服務器呢?此時,你應該想到ftp服務器!沒錯,ftp服務器不僅可以打到文件共享的大前提,還能通過設置用戶名密碼的方式來實現權限管理。用Python實現它麻煩麼?不麻煩,也只需要一行代碼!
Ftp服務器搭建
模塊安裝
python沒有內置ftp模塊,但要使用它卻很簡單,我們只需要簡單的通過pip安裝即可:
pip install pyftpdlib
簡單共享
模塊安裝完成後,我們找到需要共享的目錄,然後啓動cmd後,輸入:
python -m pyftpdlib -p 21
之後瀏覽器登陸**ftp://ip:port
**,這樣就開啓了一個最簡單的ftp共享服務。
首先我們使用瀏覽器登陸看下效果:
之後,我們在使用xftp工具登陸:
但此時,我們只是通過匿名用戶anonymous,密碼空的方式進行訪問,只能使用ftp下載功能,而無法上傳…
高級使用
簡單的ftp搭建方式,肯定不滿足我們的要求,那麼我麼就需要進行二次開發了!但也僅僅需要幾行代碼而已:
# -*- coding: utf-8 -*-
# @Author : 王翔
# @JianShu : 清風Python
# @Date : 2019/8/30 1:26
# @Software : PyCharm
# @version :Python 3.7.3
# @File : PythonFtp.py
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
from pyftpdlib.authorizers import DummyAuthorizer
authorizer = DummyAuthorizer()
authorizer.add_user('python', '123456', 'F:\\Working~Study', perm='elradfmwM')
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer(('0.0.0.0', 8888), handler)
server.serve_forever()
不管是windows還是linux服務器下,你還能想到比python搭建FTP服務器更簡單的方式嗎?哈哈…
The End
OK,今天的內容就到這裏,如果覺得內容對你有所幫助,歡迎點擊文章右下角的“在看
”。
期待你關注我的公衆號**清風Python
**,如果覺得不錯,希望能動動手指轉發給你身邊的朋友們。
希望每週一至五清晨的7點10分,都能讓清風Python的知識文章叫醒大家!謝謝……