Oneline單行Web服務Web服務,各個程式語言都有

有時候需要臨時啟動要給Web服務,用於臨時訪問或者提供檔案共享等。為此蟲蟲給大家整理了一下常見的單行命令啟動一個Web服務的總結。下面的單行命令,中的每一個都會在當前(或指定的)目錄中執行一個臨時http Web伺服器,監聽8000埠,各個語言版本基本上都已經覆蓋了,如有遺漏請留言告知。

Oneline單行Web服務Web服務,各個程式語言都有

Docker版本

先來一個基於容器的,這是一個真正容器版本的Apache伺服器,基礎映象包為httpd:2。4-alpine:

預設就是當前資料夾的列表頁面,啟動時候注意安全哦。

Oneline單行Web服務Web服務,各個程式語言都有

Python

Python 2和3版本差異較大,其內建的http服務亦有所差異。

2。x版本:

3。x版本:

除了語言自帶模組,還有大量的第三方模組也可以支援。

twisted (Python應用)

或者:

Ruby語言

同樣Ruby也有第三方http模組可以支援。

adsf(Ruby應用):

Sinatra (Ruby應用)

Perl語言

Plack (Perl應用)

Mojolicious (Perl應用)

Node.js

node-static(Node.js):

PHP

PHP在大於5。4的版本中內建了http服務,可以直接用-S選項啟動。

Erlang語言

Erlang語言實現比較麻煩一點,但是也能在單行中實現。

Golang

Golang語言無法直接用一句話實現,需要自己寫個main或者用第三方的模組。

然後啟動即可,也非常簡單,但是效能很好。

可以用golang應用,比如caddy,它支援的功能就比較強大了,但是可以簡單化使用。

caddy

Rust

Rust語言需要用https模組,由於Rust核心模組中幾乎不帶任何應用模組,需要先用cargo安裝:

然後直接就可以啟動。

R語言

R語言下也很簡單,用自帶的servr伺服器模組就可以。Serve是R語言與其他語言的通訊(TCP/IP)介面,客戶端由多種語言實現,像C/C++, Java等。

dart語言

dart語言自帶dhttpd可以實現:

Crystal語言

使用http/server和eval語言啟動:

OCaml語言

oCaml語言需要用cohttp和async模組實現:

或者cohttp,lwt和ssl模組也可以。

Tcl

Tcl語言需要版本8。6 ,Tcllib 1。19 更新版本才能支援,實現也較麻煩:

Java

Java語言基本上就是可以算是不支援,但是在JDK 1。7以上版本可以用折衷辦法,而且只支援一個使用者登陸,不能算是這個合格的Web服務。

.NET Core

dotnet core使用者可以用dotnet-serve模組,先安裝:

C

C語言寫的Web伺服器,可以用webfs:

彙編

組合語言的版本的asmttpd(github/nemasu/asmttpd),之前文章中提到過,這可能最小版本的Web伺服器了,大小隻有6k,不過麻雀雖小功能很全,支援多執行緒,多文件種類,多Http狀態和頭支援。

IIS Express:

IIS命令也強行湊一波熱鬧:

Gawk

Oneline應用怎麼能少得了awk呢?雖然比較麻煩:

PowerShell

PowerShell表示雖然只是路過,但是不願意錯過。

從cmd啟動的PowerShell:

Cmd表示藉助孫子PS的魔法,我也可以,雖然啥也看不懂:

NC

NC表示我是網路界的瑞士軍刀:

busybox

busybox表示,咋啥也不說直接上程式碼就OK