用http實現文件共享(python和go語言示例)


平時工作中少不了文件共享,所以了解文件共享的方法很有必要。

文件共享有很多方法,大致分為以下幾類:

1系統共享(windows共享或samba):

windows下我們可以借助windows共享完成簡單的文件共享,linux下也可以用samba之類的軟件輕松實現。

2ftp共享:

可以借助常見的ftp軟件實現。

3http共享:

可以借助常見的web服務器(比如IISApache實現

今天我要介紹的是http文件共享

首先以IIS為例介紹下用常用的web服務器實現文件共享的方法,具體如下(以我機器為例):

1、打開IIS,打開“網站 --> 默認網站”,右鍵點擊“屬性”,點擊“主目錄”,勾選“目錄瀏覽”選項,如下圖所示: 

2、進入文件夾C:\Inetpub\wwwroot,拷貝文件“1.7z“到這個目錄:

3、打開瀏覽器,輸入本機ip(比如我的:192.168.1.123),即可看到共享的文件並可以下載:

點擊“1.7z”即可下載。

這里我已經實現了文件共享,但如果我沒有IIS或者Apache之類的web服務器軟件怎么實現http文件共享呢?

沒有就自己寫一個用來共享文件的程序唄!

呵呵,可別被嚇到,這個借助python或者go語言可以很輕松的實現:

1python實現http文件共享:

用過python的都知道python有一個很牛x的命令:

python -m SimpleHTTPServer 

C:\Python27下運行命令:

 打開瀏覽器,可以看到如下效果:

 這個命令的默認端口是8000,如果我再加一個端口參數,可以用其它端口進行訪問,命令如下:

 打開瀏覽器:

知道了這個原理,可以寫個bat文件,在需要的時候copy到相應的目錄雙擊即可,比如我的httpShare.bat文件如下:

python -m SimpleHTTPServer 80

默認用80端口,訪問時候只需要輸入我的ip地址即可。

2go語言實現http文件共享:

上面的方法很方便,windowslinux通吃,不過前提是要安裝python

這里我有個用go語言實現的,也是windowslinux通吃(windows下不知道怎么配置的可以參考我之前的文章:http://www.cnblogs.com/MikeZhang/archive/2012/02/09/windowsGo.html ),類似C/C++,是代碼可移植,使用前你只需編譯一次。

下面是示例代碼(httpShare.go): 

package main

import (
"http"
"fmt"
)

func main(){
h := http.FileServer(http.Dir("."))
var port string
fmt.Printf("Please input port Number: ")
fmt.Scanf("%s",&port)
http.ListenAndServe(":"+port, h)
}

運行效果:

技術是為生活服務的,覺得那個簡單就用那個吧,反正上面的幾種方法都可以實現文件共享。

好,就這些了,希望對你有幫助。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM