http.Post 関数を使用して POST リクエストを送信し、応答を取得します
Go 言語では、http パッケージの Post 関数を使用して POST リクエストを送信し、応答を取得できます。 Post関数はhttpパッケージの共通機能で、指定したURLにフォームデータやjsonデータを送信し、サーバーの応答を返すことができます。
以下は、http.Post 関数を使用して POST リクエストを送信し、レスポンスを取得する方法を示すサンプル コードです。
package main import ( "fmt" "io/ioutil" "net/http" "strings" ) func main() { url := "http://example.com/api" data := "username=test&password=123456" resp, err := http.Post(url, "application/x-www-form-urlencoded", strings.NewReader(data)) if err != nil { fmt.Println("发送POST请求失败:", err) return } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println("读取响应失败:", err) return } fmt.Println("服务器响应:", string(body)) }
上記のコードでは、まず URL を定義し、データ。次に、http.Post 関数を使用して、指定された URL に POST リクエストを送信し、データと Content-Type を渡します。このうち、2番目のパラメータではContent-Typeを「application/x-www-form-urlencoded」と指定しています。これは、送信したいデータがURLエンコードされたフォームデータであることを意味します。 3 番目のパラメーターは io.Reader インターフェイスであり、strings.NewReader を使用してデータを io.Reader に変換します。
http.Post 関数の戻り値は、http.Response 構造体へのポインターであり、エラーの可能性があります。まずエラーが空かどうかを判断し、空でない場合はエラー メッセージを出力して返します。エラーがない場合は、resp.Body を通じてサーバーの応答本文を取得できます。
応答本文を取得した後、ioutil パッケージの ReadAll 関数を使用して、応答本文をバイト配列に読み取ることができます。次に、バイト配列を文字列に変換して出力します。
上記は、http.Post 関数を使用して POST リクエストを送信し、レスポンスを取得するサンプル コードです。この例を通して、http パッケージの Post 関数を使用して POST リクエストを送信し、レスポンスを取得する方法を学びます。実際の開発では、インターフェースやデータ形式の違いに応じて、コード内のパラメータや処理方法を調整する必要がある場合があります。
以上がhttp.Post 関数を使用して POST リクエストを送信し、応答を取得しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。