• Go语言实现http共享


    在我之前的文章(http://www.cnblogs.com/MikeZhang/archive/2012/02/11/httpFileSharePythonAndGo.html)中提到过用go语言实现http共享,这个程序我一直在用,感觉还是python的方式更加灵活:如不指定端口,则默认开启8000……

    python不给力,慢不说,还只允许一个客户端,果断决定自己写一个!

    好了,不多废话了,代码如下:

     /*

    File      : httpShare.go
    Author    : Mike
    E-Mail    : Mike_Zhang@live.com
    */
    package main
    import (
            "net/http"
            "os"
            "strings"
    )
    func shareDir(dirName string,port string,ch chan bool){
            h := http.FileServer(http.Dir(dirName))
            err := http.ListenAndServe(":"+port,h)
            if err != nil {
                    println("ListenAndServe : ",err.Error())
                    ch <- false
            }
    }
    func main(){
            ch := make(chanbool)
            port := "8000"//Default port 
            iflen(os.Args)>1 {
                    port = strings.Join(os.Args[1:2],"")
            }
            go shareDir(".",port,ch)
            println("Listening on port ",port,"...")
            bresult := <-ch
            iffalse == bresult {
                    println("Listening on port ",port," failed")
            }
    }

    运行效果如下:

    1、正常情况下:

    2、端口被占用时:

    好,就这些来,希望对你有帮助。

  • E-Mail : Mike_Zhang@live.com
  • 转载请注明出处,谢谢!
  • 相关阅读:
    vue 引用本地图片
    antdVue
    Nest.js —— A progressive Node.js framework
    20184313《网络对抗技术》Exp8 Web综合
    20184313《网络对抗技术》Exp7 网络欺诈防范
    20184313《网络对抗技术》Exp6 MSF应用基础
    20184313《网络对抗技术》Exp5 信息搜集与漏洞扫描
    网页激知序列号之途径(网友提供技术参考)
    【转】Delphi中正则表达式支持中文的写法
    遇到的一个奇怪问题
  • 原文地址:https://www.cnblogs.com/MikeZhang/p/httpShareGolang20120312.html
  • Copyright © 2020-2023  润新知