golang中的net/http庫基本使用詳解
關(guān)于net/http庫
我們先看看標(biāo)準(zhǔn)庫net/http如何處理一個請求。
import ( "fmt" "log" "net/http" ) var count = 0 func main() { http.HandleFunc("/", handler) http.HandleFunc("/count", counter) log.Fatal(http.ListenAndServe("localhost:8000", nil)) } func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "URL.Path = %q\n", r.URL.Path) fmt.Printf("URL.Path = %q\n", r.URL.Path) } func counter(w http.ResponseWriter, r *http.Request) { count++ fmt.Fprintf(w, "URL.Path = %q\n", r.URL.Path) fmt.Println(count) }
代碼塊定義了兩個不同的路由,分別是“/”和“/count”,分別綁定 handler 和 counter, 根據(jù)不同的HTTP請求會調(diào)用不同的處理函數(shù)。
調(diào)用“/”路由處理方法得到的結(jié)果是:
調(diào)用“/count”路由處理方法得到的結(jié)果是:
發(fā)送Get請求并獲取響應(yīng)
import ( "fmt" "io/ioutil" "net/http" ) func main() { resp, err := http.Get("https://www.baidu.com") if err != nil { fmt.Println("Error:", err) return } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(body)) }
執(zhí)行程序獲取到的結(jié)果是:
發(fā)送Post請求并獲取響應(yīng)
import ( "fmt" "io/ioutil" "net/http" "strings" ) func main() { payload := strings.NewReader("data=example") resp, err := http.Post("https://www.baidu.com", "application/x-www-form-urlencoded", payload) if err != nil { fmt.Println("Error:", err) return } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(body)) }
執(zhí)行程序獲取到的結(jié)果是:
到此這篇關(guān)于golang中的net/http庫基本使用詳解的文章就介紹到這了,更多相關(guān)golang net/http庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
golang基于errgroup實現(xiàn)并發(fā)調(diào)用的方法
這篇文章主要介紹了golang基于errgroup實現(xiàn)并發(fā)調(diào)用,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09詳解Go語言中的數(shù)據(jù)類型及類型轉(zhuǎn)換
這篇文章主要為大家介紹了Go語言中常見的幾種數(shù)據(jù)類型,以及他們之間的轉(zhuǎn)換方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-04-04golang中值類型/指針類型的變量區(qū)別總結(jié)
golang的值類型和指針類型receiver一直是大家比較混淆的地方,下面這篇文章主要給大家總結(jié)介紹了關(guān)于golang中值類型/指針類型的變量區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-12-12