Go 言語で POST リクエストを送信するには、次の手順に従います。 必要なパッケージをインポートします。 httpクライアントを作成します。メソッド、URL、リクエスト本文を指定して http リクエストを作成します。必要なリクエストヘッダを設定します。リクエストを実行してレスポンスを取得します。応答本文を処理します。
POST リクエストは、フォームの送信や新しいリソース。 Go では、net/http
パッケージを使用して、POST リクエストを簡単に送信できます。
import "net/http"
http
clienthttp クライアントを作成します:
client := http.Client{}3.
リクエストを作成します
http.NewRequest 新しい
http リクエストを作成し、メソッド、URL、およびリクエスト本文 (必要な場合) を指定します:
req, err := http.NewRequest("POST", "https://example.com", body) if err != nil { // 处理错误 }4. リクエスト ヘッダーの Settings を設定します。 request
Content-Type などの必要なヘッダー:
req.Header.Set("Content-Type", "application/json")5. リクエストを実行します。
client.Do を使用してリクエストを実行し、応答を取得します:
resp, err := client.Do(req) if err != nil { // 处理错误 }6. 応答の処理
resp.Body を使用して応答本文を読み取り、処理します:
defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { // 处理错误 } fmt.Println(string(body))実際のケース:新しいユーザーの作成
const userURL = "https://example.com/api/v1/users" type User struct { Name string `json:"name"` } func main() { client := http.Client{} user := User{ Name: "My New User", } jsonBytes, err := json.Marshal(user) if err != nil { // 处理错误 } req, err := http.NewRequest("POST", userURL, bytes.NewReader(jsonBytes)) if err != nil { // 处理错误 } req.Header.Set("Content-Type", "application/json") resp, err := client.Do(req) if err != nil { // 处理错误 } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { // 处理错误 } fmt.Println(string(body)) }上記の例では、最初に
User 構造体を作成します。新しいユーザーを表すために。次に、ユーザー データを JSON にシリアル化し、新しい
http.Request を構築しました。最後に、リクエストを実行し、レスポンスを処理します。
以上がGo 言語で POST リクエストを効率的に実行するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。