ホームページ  >  記事  >  バックエンド開発  >  http.NewRequest 関数を使用して、新しい GET リクエスト オブジェクトを作成し、リクエスト ヘッダーとパラメータを設定します。

http.NewRequest 関数を使用して、新しい GET リクエスト オブジェクトを作成し、リクエスト ヘッダーとパラメータを設定します。

王林
王林オリジナル
2023-07-25 22:40:441976ブラウズ

http.NewRequest 関数を使用して、新しい GET リクエスト オブジェクトを作成し、リクエスト ヘッダーとパラメータを設定します。

Go 言語では、http.NewRequest 関数を使用して、新しい GET リクエスト オブジェクトを作成し、リクエスト ヘッダーとパラメータを設定します。 http.NewRequestこの関数は、リクエスト メソッド、リクエスト URL、リクエスト本文の 3 つのパラメータを受け入れます。 http.MethodGet 定数を使用して GET リクエスト メソッドを表し、文字列を使用して送信されるリクエスト URL を表すことができます。リクエスト本文がない場合は、nil を渡すことができます。

最初に net/http および fmt パッケージをインポートする必要があります:

import (
    "fmt"
    "net/http"
)

その後、http.NewRequest# を使用できます。 ## この関数は、新しい GET リクエスト オブジェクトを作成し、リクエスト ヘッダーとパラメータを設定します。サンプル コードは次のとおりです。

func main() {
    url := "https://example.com/api"
    req, err := http.NewRequest(http.MethodGet, url, nil)
    if err != nil {
        fmt.Println("创建请求失败:", err)
        return
    }

    // 设置请求头
    req.Header.Add("Authorization", "Bearer token123")

    // 设置请求参数
    query := req.URL.Query()
    query.Add("key1", "value1")
    query.Add("key2", "value2")
    req.URL.RawQuery = query.Encode()

    // 发送请求
    client := http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        fmt.Println("发送请求失败:", err)
        return
    }
    defer resp.Body.Close()

    // 处理响应
    fmt.Println("状态码:", resp.StatusCode)
}

上の例では、GET リクエスト オブジェクトを作成し、リクエスト ヘッダーとパラメータを設定しました。

req.Header.Add メソッドを使用してリクエスト ヘッダーを追加し、req.URL.Query メソッドを使用してリクエスト URL のクエリ パラメータを取得し、query.Add メソッドはパラメータを追加します。

最後に、

http.Client を使用してリクエストを送信し、resp.StatusCode を使用して応答のステータス コードを取得します。ここでは、defer resp.Body.Close() ステートメントを使用して、リソース リークを避けるために使用後に応答本文が閉じられるようにします。

概要:

http.NewRequest 関数を使用すると、新しい GET リクエスト オブジェクトを簡単に作成し、リクエスト ヘッダーとパラメータを設定できます。関連するメソッドを呼び出すことで、リクエスト ヘッダーとパラメーターを追加できます。リクエストの送信とレスポンスの処理のコードも非常にシンプルで、http.Clientresp.StatusCode を渡すだけです。このようなコードは構造が明確で、拡張や保守が簡単です。

以上がhttp.NewRequest 関数を使用して、新しい GET リクエスト オブジェクトを作成し、リクエスト ヘッダーとパラメータを設定します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。