最近在學習Lua,發現網上關於Lua的FTP功能介紹不是很多,就自己去讀了官方文檔(LuaSocket:FTP support),記錄下學習的過程。
0x01 安裝LuaSocket
使用FTP功能,首先得安裝LuaSocket這個包,可以參考這篇文章來安裝《使用Lua的擴展庫LuaSocket用例》
我遇到的問題是,電腦上有Lua5.2,Lua5.3,系統默認的是5.3,但是Luarocks給我裝到Lua5.2里面去了,無法調用。
於是我就自己編譯安裝,系統是macosx,但一直給我提示不支持x86_64。找了好久的資料,才發現Makefile里面有個平台選項,默認是linux,得改成macosx。
也不能直接make install,要改成make install-both
0x02 FTP下載
(把編輯器設置成markdown格式,還是不行啊,先截圖看着吧。。。)
用騰訊雲的學生優惠買了個VPS,在上面搭建了FTP服務器。
幾行代碼就可以實現以匿名模式訪問FTP,將獲取到的文件內容存放到f變量里面。
我發現Lua好像不支持直接下載文件,必須自己新建一個文件,將獲取到的內容寫進去。
以"w"模式打開/tmp/hahaha.txt文件,將剛獲取到的內容寫進去。
對於一些可執行文件似乎也是這種處理方式,我試了個exe、zip文件,確實是這樣的。