用python或者perl實現簡單的http伺服器目錄共享
由於執行不了Go語言的一個例子工程,區區把golang的原始碼更新到最新版本了。。
/README寫著:
This is the source code repository for the Go programming language.
For documentation about how to install and use Go,
visit http://golang.org/ or load doc/install.html in your web browser.
可混的是平時都在vm+ssh中使用linux,所以只好將golang目錄做成web server再用host機器的火狐看文件了。
“把一個目錄用http伺服器的方式臨時釋出”,這是一個很好用的技術需求。
在較新python安裝中,只需一行命令即可解決:
python -m SimpleHTTPServer 8080
這個命令可以把當前目錄變成一個小型的web server。傳檔案,看文件,試指令碼都很實用。
在瀏覽器中再輸入http://localhost:8080就可以檢視了。。
BUT,這裡要說說區區的特殊情況,由於使用了virtual box的NAT功能,本人要輸入的是http://localhost:3388 —— 這是由於開啟的埠對映將vm的8080仿成host的3388了。
本來事情可以告一段落,但是今天忽然覺得這個SimpleHTTPServer好慢好卡,所以決定找找perl有沒有類似的實現(這就是所謂蛋疼)。
google說http://www.perlmonks.org/?node_id=865148 這裡有不錯的方案,
baidu說………………不知道它說什麼。
最終比較靠譜的方案是用HTTP::Server::Brick,這個在linux下非常簡單用
sudo cpan -i HTTP::Server::Brick
就可以完成安裝了。。
然後終於perl也有oneline http server了:
perl -MHTTP::Server::Brick -e 'my $p=`pwd`;chop $p;my $s=HTTP::Server::Brick->new(port=>8080);$s->mount("/" => {path=>$p}); $s->start()'
BUT again,這裡要說說區區的特殊情況,由於使用了virtual box的NAT功能,.......
所以瀏覽http目錄時,會有一個redirect的bug,解決方法是:
把Brick.pm的這一行:
$res->add_content("<a href=/"$_/">$_</a>/n") for map { s!.*/!!; $_} sort glob "$path/*";
改成:
$res->add_content("<a href=/"$_/">$_</a>/n") for map {my $p=$_; my $t=$_; $t=~s!.*/!!; (-d $p) ? $t."/" : $t} sort glob "$path/*";
區區在琢磨要不要給作者發個patch,BUT不是大家都需要的。
經本人親測:
perl的這個oneline http server比python的要快很多。
相關文章
- Python的學習(十四)---- 實現簡單的HTTP伺服器PythonHTTP伺服器
- 用原生http 實現簡單 Express 框架HTTPExpress框架
- Netty(二) 實現簡單Http伺服器NettyHTTP伺服器
- 使用 python 實現簡單的共享鎖和排他鎖Python
- 使用Python建立簡單的HTTP伺服器PythonHTTP伺服器
- C#實現一個最簡單的HTTP伺服器C#HTTP伺服器
- 簡單實用的《http小書》HTTP
- 用Python socket 實現一個簡單的http伺服器(post 與get 的區別)、CGI、WSGI、MVCPythonHTTP伺服器MVC
- 一個用C#實現的簡單http server (轉)C#HTTPServer
- 用 Python 快速實現 HTTP 和 FTP 伺服器PythonHTTPFTP伺服器
- 使用 Docker 和 Nginx 實現簡單目錄索引服務DockerNginx索引
- 用JS實現簡單的螢幕錄影機JS
- Python 臨時啟動簡單的 HTTP 伺服器PythonHTTP伺服器
- 簡單通訊錄的實現
- 轉:用Perl實現單詞計數器
- tcp 實現簡單http 問題TCPHTTP
- 標準庫 http 包的簡單實用HTTP
- 開發一個簡單的 HTTP 伺服器應用HTTP伺服器
- 用python實現簡單的線上翻譯程式Python
- 儲存目錄的SMB目錄共享問題
- http報文簡單記錄HTTP
- python怎麼實現發現所需目錄不存在時新建目錄Python
- LayoutTransiton實現簡單的錄製按鈕
- 配置 NFS 共享目錄NFS
- 用go 簡單實現的LRUGo
- 12.目錄操作(perl筆記)筆記
- PHP 實現 HTTP 表單請求伺服器PHPHTTP伺服器
- python下ssh的簡單實現Python
- 簡單實現Windows和Linux檔案共享WindowsLinux
- 超級簡單的實現window共享Linux檔案Linux
- 共享軟體中註冊部分的簡單實現(轉)
- Perl 6 簡單的並行並行
- 一個用Perl分析Apache Log的簡單程式(轉)Apache
- 最簡單的web伺服器實現(一)Web伺服器
- SimpleHTTPServer ——一個簡單的HTTP伺服器HTTPServer伺服器
- linux nfs 共享目錄LinuxNFS
- python實現簡單猜單詞遊戲Python遊戲
- 簡單的零配置命令http伺服器:http-server入門HTTP伺服器Server