73-golang簡單http伺服器
阿新 • • 發佈:2018-11-29
搭建一下簡單的 http伺服器 我們來搞一個伺服器 當訪問對應的資料夾下的檔案的時候 我們就開啟這個檔案 我們先寫一個簡單的 監聽根目錄 func main() { //註冊監聽"/"根目錄 http.HandleFunc("/", handlerFunc) //開啟監聽服務 http.ListenAndServe("127.0.0.1:8080", nil) } //處理根目錄請求 func handlerFunc(writer http.ResponseWriter, request *http.Request) { str := "hello world" writer.Write([]byte(str)) } 然後我們開啟另一個監聽 然後訪問對應目錄的檔案 func main() { //註冊監聽"/"根目錄 http.HandleFunc("/", handlerFunc) //註冊監聽test http.HandleFunc("/test/", testFunc) //開啟監聽服務 http.ListenAndServe("127.0.0.1:8080", nil) } func testFunc(writer http.ResponseWriter, request *http.Request) { //獲取url url := request.URL.String() fmt.Println("url:", url) //開啟對應目錄的file檔案 file, _ := os.Open("f:" + url) //建立arr切片 arr := make([]byte, 1024) //迴圈讀取並寫入到客戶端 for { num, err := file.Read(arr) writer.Write(arr[:num]) if err == io.EOF { break } } } //處理根目錄請求 func handlerFunc(writer http.ResponseWriter, request *http.Request) { str := "hello world" writer.Write([]byte(str)) }