golang中的標準庫http

2022-09-19 05:09:11 字數 3760 閱讀 3991

go語言內建的net/http包十分的優秀,提供了http客戶端和服務端的實現。

基本的http/https請求 get、head、post和postform函式發出http/https請求。

url.values, "id": })程式在使用完response後必須關閉回覆的主體。

// ...使用net/http包編寫乙個簡單的傳送http請求的client端,**如下:

func main() 

// 使用完response之後必須關閉使用的主體

defer resp.body.close()

body, err := ioutil.readall(resp.body)

if err != nil

fmt.println(string(body))

}

將上面的**儲存之後編譯成可執行檔案,執行之後就能在終端列印liwenzhou.com**首頁的內容了,我們的瀏覽器其實就是乙個傳送和接收http協議資料的客戶端,我們平時通過瀏覽器訪問網頁其實就是從**的伺服器接收http資料,然後瀏覽器會按照html、css等規則將網頁渲染展示出來。

關於get請求的引數需要使用go語言內建的net/url這個標準庫來處理。

func main()   // 型別:type values map[string]string

data.set("name", "張三")

*/// ioutil.readall() 代替了上面這段

buf, err := ioutil.readall(resp.body)

if err != nil

fmt.println(string(buf))

}

上面演示了使用net/http包傳送get請求的示例,傳送post請求的示例**如下:

post表單請求資料

func main()   // 型別:type values map[string]string

data.set("name", "張三")

}

post json提交資料

}使用go語言中的net/http包來編寫乙個簡單的接收http請求的server端示例,net/http包是對net包的進一步封裝,專門用來處理http協議的資料。具體的**如下:

}要管理服務端的行為,可以建立乙個自定義的server:

// 定義字段儲存路由與檢視函式之間的對映關係

maxheaderbytes: 2 << 20, // 1048576個位元組,也就是1m

} // 註冊路由

golang中的標準庫strconv

這一組函式是我們平時程式設計中用的最多的。atoi 函式用於將字串型別的整數轉換為int型別,函式簽名如下。func atoi s string i int,err error 如果傳入的字串引數無法轉換為int型別,就會返回錯誤。func main 結論 atoi 如果轉換成功結果就是正常的數值,...

golang中的標準庫log

go語言內建的log包實現了簡單的日誌服務。本文介紹了標準庫log的基本使用。log包定義了logger型別,該型別提供了一些格式化輸出的方法。本包也提供了乙個預定義的 標準 logger,可以通過呼叫函式print系列 print printf println fatal系列 fatal fata...

golang中的標準庫flag

go語言內建的flag包實現了命令列引數的解析,flag包使得開發命令列工具更為簡單。如果你只是簡單的想要獲取命令列引數,可以像下面的 示例一樣使用os.args來獲取命令列引數。func main 執行命令 go run main.go host 127.0.0.1 port 8080 輸出結果 ...