Go 言語では、net/http パッケージの NewRequest および Client タイプを通じて POST リクエストを実装できます。構文は次のとおりです。 リクエストの作成: func postRequest(url, contentType string, body []byte) リクエスト ヘッダーの設定: req.Header.Set("Content-Type", contentType) リクエストの送信: resp、err := client。 Do(req )Read the response body: body, err := ioutil.ReadAll(resp.Body)
Go 言語 POST リクエストの詳細な説明と実際の応用
はじめに
POST リクエストは HTTP リクエストの一種で、サーバーにデータを送信するために使用されます。 Go 言語では、net/http
パッケージの NewRequest
および Client
タイプを通じて POST リクエストを実装できます。
構文
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 }
実用的なケース
POST リクエストを送信し、レスポンスを取得する簡単な Go 言語プログラムを作成します。サーバー:
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 中国語 Web サイトの他の関連記事を参照してください。