Sunday, 5 February 2017

Dựng HTTP server bằng một câu lệnh

Đôi khi ta cần dựng 1 HTTP server, trong một nháy mắt 😎
Để:
- xem nội dung 1 file html
- chia sẻ file siêu tốc (tất nhiên không an toàn, ai có link cũng tải được)

Giải pháp:
- mọi giải pháp cần file config như NGINX, Apache đều bị loại do vượt quá yêu cầu thiết lập dưới 1 phút.

Các giải pháp được đề cử 😍

busybox

Nếu không có sẵn trên máy
# apt-get install -y busybox
$ busybox httpd -f -p 9999 -h
-f : chạy foreground
-p: port
-h: home, thư mục sẽ phục vụ, mặc định là thư mục hiện tại
Khi truy cập vào IP:9999, ta sẽ nhận được response 404 nếu không có file index.html nào trong thư mục được phục vụ. Để truy cập các file khác, ta phải tự chọn trên URL chứ không có danh sách.
Ví dụ: để tải file destroy.mp4 trong thư mục phục vụ , truy cập vào http://IP:9999/destroy.mp4

Twisted 

là một Python package
trước tiên phải cài twisted:
$ pip install twisted
$ twistd -n web -p 8080 --path .
Truy cập IP:8080 sẽ nhận được danh sách các file trong thư mục chỉ ra bởi --path

Python2

$ python -m SimpleHTTPServer 8000
Khi truy cập vào IP:8000 ta sẽ thấy danh sách các file của thư mục ta chạy câu lệnh.

Python 3

$ python -m http.server 8000
Khi truy cập vào IP:8000 ta sẽ thấy danh sách các file của thư mục ta chạy câu lệnh.

Còn nhiều giải pháp sử dụng các ngôn ngữ khác như perl, php, node.js ... xem thêm tại
Và giải nhất được trao cho ...

Tất cả 4 giải pháp trên 🙌👏😽

Hết.
HVN at http://www.familug.org/ and http://pymi.vn