Go 語言中,POST 請求可透過 net/http 套件的 NewRequest 和 Client 類型實作。語法如下:建立請求:func postRequest(url, contentType string, body []byte)設定請求頭:req.Header.Set("Content-Type", contentType)傳送請求:resp, err := client.Do(req )讀取響應體:body, err := ioutil.ReadAll(resp.Body)
Go 語言POST 請求詳解與實戰應用
簡介
POST 請求是HTTP 請求的一種,用於傳送資料到伺服器。在 Go 語言中,POST 請求可以透過 net/http
套件的 NewRequest
和 Client
類型來實現。
語法
import ( "bytes" "io/ioutil" "net/http" ) func postRequest(url, contentType string, body []byte) ([]byte, error) { req, err := http.NewRequest("POST", url, bytes.NewBuffer(body)) if err != nil { return nil, err } req.Header.Set("Content-Type", contentType) client := &http.Client{} resp, err := client.Do(req) if err != nil { return nil, err } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { return nil, err } return body, nil }
實戰案例
建立一個簡單的Go 語言程式來傳送POST 請求並從伺服器取得回應:
package main import ( "fmt" "net/http" "os" ) func main() { url := "http://example.com" contentType := "application/json" body := []byte(`{"name": "John Smith", "age": 30}`) resp, err := postRequest(url, contentType, body) if err != nil { fmt.Println(err) os.Exit(1) } fmt.Println(string(resp)) }
在這個範例中,我們向一個名為example.com
的伺服器發送POST 請求,請求的主體是一個JSON 物件。伺服器可以處理這個 POST 請求並回傳回應。
拓展閱讀
以上是Go 語言 POST 請求詳解與實戰應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!