Golang は急速に台頭しているプログラミング言語であり、ネットワーク プログラミングでも大きな注目を集めています。 Golang では、http リクエスト パッケージを使用することで、ネットワーク プログラミングを簡単に実行できます。この記事では、http リクエストの送信、http レスポンスの受信などに関する知識を含め、Golang の http リクエスト パッケージについて紹介します。
Golang では、http.NewRequest() 関数を使用して http リクエストを作成します。この関数のパラメータには、リクエスト メソッド、URL、リクエスト本文などが含まれます。
func NewRequest(method, url string, body io.Reader) (*Request, error)
サンプル コード:
package main import ( "bytes" "fmt" "io/ioutil" "net/http" ) func main() { url := "http://example.com" jsonStr := []byte(`{"name":"John"}`) req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr)) req.Header.Set("Content-Type", "application/json") client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() body, _ := ioutil.ReadAll(resp.Body) fmt.Println("response Body:", string(body)) }
上記のコードでは、http.NewRequest() 関数を使用して POST リクエストを作成し、リクエスト ヘッダーの Content-Type を設定します。 http.Client{} を使用してリクエストを送信し、ioutil パッケージの ReadAll() 関数を通じてレスポンス本文を読み取ります。
Golang では、http.Response 構造を使用して http レスポンスを表します。この構造には、応答ステータス コード、応答ヘッダー、応答本文、およびその他の情報が含まれます。
type Response struct { Status string StatusCode int Proto string ProtoMajor int ProtoMinor int Header Header Body io.ReadCloser ContentLength int64 TransferEncoding []string Close bool Uncompressed bool Trailer Header Request *Request TLS *tls.ConnectionState Cancel <-chan struct{} }
サンプル コード:
package main import ( "fmt" "io/ioutil" "net/http" ) func main() { resp, err := http.Get("http://example.com") if err != nil { panic(err) } defer resp.Body.Close() fmt.Println("response Status:", resp.Status) fmt.Println("response Headers:", resp.Header) body, _ := ioutil.ReadAll(resp.Body) fmt.Println("response Body:", string(body)) }
上記のコードでは、http.Get() 関数を使用して GET リクエストを送信し、resp.Status、resp.Header、および resp.Body それぞれ、コード、応答ヘッダー、応答本文、および文字列形式での出力。
概要
Golang の http リクエスト パッケージは、非常に便利なネットワーク プログラミング インターフェイスを提供し、ネットワーク プログラミングをシンプルかつ効率的にします。 http.NewRequest() や http.Get() などの関数を通じて http リクエストを作成し、http.Response 構造を通じて http レスポンス情報を取得できます。 Golang の http リクエスト パッケージをマスターすると、Web サーバーや Web サービスを実装する際のコードの再利用性と可読性が向上します。
以上がGolangのhttpリクエストパッケージを紹介した記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。