国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Golang > 正文

Golang實現web文件共享服務的示例代碼

2020-04-01 18:51:56
字體:
來源:轉載
供稿:網友

本文主要介紹了Golang實現web文件共享服務的示例代碼,分享給大家,具體如下:

很簡單,只需要兩行代碼。

http.Handle("/", http.FileServer(http.Dir("./")))  //把當前文件目錄作為共享目錄http.ListenAndServe(":8080", nil)

這時候,通過瀏覽器打開 http://ip 地址:8080 就可以了。

也許這樣就完了,但是我為了方便非程序員用戶使用,還需要程序自動獲取本機的內網ip地址,最后瀏覽器自動打開這個地址。

獲取內網ip地址

func GetIntranetIp() (r []string) {  addrs, err := net.InterfaceAddrs()  if err != nil {    log.Fatal(err)  }  for _, address := range addrs {    if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {      if ipnet.IP.To4() != nil {        r = append(r, ipnet.IP.String())      }    }  }  return}

本機瀏覽器自動打開這個地址

loclstr := fmt.Sprintf("http://%s:8080", ip地址)cmd := exec.Command("cmd", "/C", "start "+loclstr)cmd.Run()

完整代碼

package mainimport (  "fmt"  "log"  "net"  "net/http"  "os/exec"  "time")func main() {  address := GetIntranetIp()  fmt.Println("本機ip地址列表:")  for _, item := range address {    fmt.Println(item)  }  http.Handle("/", http.FileServer(http.Dir("./")))  fmt.Printf("蕊蕊老師文件共享服務開啟,監聽8080端口/n請使用瀏覽器打開:http://ip地址:8080,eg:http://%s:8080/n請不要關閉此程序,祝使用愉快/n", address[0])  go func() {    time.Sleep(2000)    loclstr := fmt.Sprintf("http://%s:8080", address[0])    cmd := exec.Command("cmd", "/C", "start "+loclstr)    cmd.Run()  }()  if err := http.ListenAndServe(":8080", nil); err != nil {    fmt.Println("err:", err)  }}func GetIntranetIp() (r []string) {  addrs, err := net.InterfaceAddrs()  if err != nil {    log.Fatal(err)  }  for _, address := range addrs {    if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {      if ipnet.IP.To4() != nil {        r = append(r, ipnet.IP.String())      }    }  }  return}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富民县| 久治县| 绥滨县| 迁安市| 中阳县| 临安市| 尤溪县| 礼泉县| 唐山市| 福安市| 广昌县| 徐闻县| 永善县| 改则县| 马龙县| 平南县| 大田县| 昌都县| 武冈市| 西城区| 通山县| 汾阳市| 上蔡县| 武鸣县| 古交市| 渝北区| 淳化县| 专栏| 兴国县| 卢龙县| 赤城县| 湖口县| 高淳县| 阿鲁科尔沁旗| 友谊县| 永定县| 会东县| 邯郸市| 桐庐县| 太谷县| 正镶白旗|