用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的要快很多。
相關文章
- Netty(二) 實現簡單Http伺服器NettyHTTP伺服器
- 使用 python 實現簡單的共享鎖和排他鎖Python
- 使用Python建立簡單的HTTP伺服器PythonHTTP伺服器
- 用 Python 快速實現 HTTP 和 FTP 伺服器PythonHTTPFTP伺服器
- Python 臨時啟動簡單的 HTTP 伺服器PythonHTTP伺服器
- 使用 Docker 和 Nginx 實現簡單目錄索引服務DockerNginx索引
- 用JS實現簡單的螢幕錄影機JS
- tcp 實現簡單http 問題TCPHTTP
- 標準庫 http 包的簡單實用HTTP
- 用python實現簡單的線上翻譯程式Python
- http報文簡單記錄HTTP
- 超級簡單的實現window共享Linux檔案Linux
- LayoutTransiton實現簡單的錄製按鈕
- 配置 NFS 共享目錄NFS
- PHP 實現 HTTP 表單請求伺服器PHPHTTP伺服器
- python複製資料夾到一個目錄,或者按目錄層級建立複製Python
- 教你用Perl實現Smgp協議協議
- python 爬取 blessing skin 的簡單實現Python
- Python實現簡單的excel對比工具PythonExcel
- 簡單的零配置命令http伺服器:http-server入門HTTP伺服器Server
- Python實現簡單負載均衡Python負載
- python實現簡單猜單詞遊戲Python遊戲
- 使用PHP內建web伺服器,實現簡單的除錯應用PHPWeb伺服器除錯
- 在 Golang 中實現一個簡單的Http中介軟體GolangHTTP
- 關於 Jenkins master 共享 JENKINS_HOME 目錄的實驗JenkinsAST
- Android實現錄屏直播(一)ScreenRecorder的簡單分析Android
- 用trait實現簡單的依賴注入AI依賴注入
- 用go實現簡單的氣泡排序Go排序
- Android應用加固的簡單實現方案Android
- 用 go 實現一個簡單的 mvcGoMVC
- 簡單介紹5個python的實用技巧Python
- Java用UDP實現簡單聊天JavaUDP
- python 實現 TCP 伺服器最簡流程PythonTCP伺服器
- Python實現簡單驗證碼的轉文字Python
- Python技法:實現簡單的遞迴下降ParserPython遞迴
- React 實現一個簡單實用的 Form 元件ReactORM元件
- Python使用TCP實現簡單對話PythonTCP
- 簡單介紹python中的單向連結串列實現Python
- Nodejs快速搭建簡單的HTTP伺服器詳細教程。NodeJSHTTP伺服器