ホームページ > バックエンド開発 > Golang > Golang リクエスト処理ガイド

Golang リクエスト処理ガイド

WBOY
リリース: 2024-02-28 12:42:03
オリジナル
1157 人が閲覧しました

Golang リクエスト処理ガイド

Golang リクエスト処理ガイド

Golang は、Web 開発やネットワーク プログラミングの分野で広く使用されている、効率的で簡潔な同時実行性の高いプログラミング言語です。ネットワーク プログラミングでは、HTTP リクエストの処理は重要な部分です。この記事では、HTTP サーバーの作成、GET および POST リクエストの処理、パラメータ解析、Cookie 操作などを含む、Golang で HTTP リクエストを処理する方法を紹介し、詳細なコード例を示します。

1. HTTP サーバーの作成

まず、リクエストを受信する HTTP サーバーを作成する必要があります。 Golang では、net/http パッケージで提供される ListenAndServe メソッドを使用して、単純な HTTP サーバーを作成できます。コードは次のとおりです。上のコードでは、ルート パス (「/」) に対するリクエストを処理するために、

http.HandleFunc

メソッドを通じてリクエスト処理関数 handler を指定します。次に、http.ListenAndServe メソッドを通じて、ポート 8080 でリッスンする HTTP サーバーを起動します。 2. GET リクエストの処理

次に、GET リクエストの処理方法を見てみましょう。 GET リクエストは URL パラメーターを通じてデータを渡すことができ、これらのパラメーターは

r.URL.Query()

メソッドを通じて取得できます。以下は、GET リクエストを処理するサンプル コードです。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>package main import ( &quot;net/http&quot; &quot;fmt&quot; ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, &quot;Hello, World!&quot;) } func main() { http.HandleFunc(&quot;/&quot;, handler) http.ListenAndServe(&quot;:8080&quot;, nil) }</pre><div class="contentsignin">ログイン後にコピー</div></div> 上記のコードでは、

query.Get

メソッドを通じて「name」という名前の URL パラメーターを取得し、それを Responding に出力します。 3. POST リクエストの処理

GET リクエストの処理と同様、POST リクエストの処理も非常に簡単です。

r.ParseForm()

メソッドを通じて POST リクエストのフォーム データを解析できます。以下は、POST リクエストを処理するサンプル コードです。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>func handler(w http.ResponseWriter, r *http.Request) { query := r.URL.Query() name := query.Get(&quot;name&quot;) fmt.Fprintf(w, &quot;Hello, %s!&quot;, name) }</pre><div class="contentsignin">ログイン後にコピー</div></div> 上記のコードでは、

r.Form.Get

メソッドを通じて「name」という名前のフォーム データを取得し、それを出力します。応答に。 4. パラメーターの解析

URL パラメーターとフォーム データの取得に加えて、JSON データの処理や他の形式のリクエスト本文の処理も必要になる場合があります。

json.Unmarshal

メソッドを使用して JSON データを解析できます。以下は、JSON データを処理するためのサンプル コードです。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>func handler(w http.ResponseWriter, r *http.Request) { r.ParseForm() name := r.Form.Get(&quot;name&quot;) fmt.Fprintf(w, &quot;Hello, %s!&quot;, name) }</pre><div class="contentsignin">ログイン後にコピー</div></div> 上記の例では、「name」フィールドを含む JSON データを解析し、Responding に出力するための

Person

構造体を定義します。 5. Cookie 操作

最後に、Cookie 操作の実行方法を見てみましょう。 Golang では、

http.SetCookie

メソッドを使用して Cookie を設定し、r.Cookie メソッドを使用して Cookie を取得できます。以下は、Cookie を設定および取得するためのサンプル コードです。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>import ( &quot;encoding/json&quot; &quot;io/ioutil&quot; ) type Person struct { Name string `json:&quot;name&quot;` } func handler(w http.ResponseWriter, r *http.Request) { body, _ := ioutil.ReadAll(r.Body) var person Person json.Unmarshal(body, &amp;person) fmt.Fprintf(w, &quot;Hello, %s!&quot;, person.Name) }</pre><div class="contentsignin">ログイン後にコピー</div></div> 上記のコードでは、まず「username」という名前の Cookie を設定し、次に

r.Cookie

メソッドを通じてそれを取得します。このCookieの値がレスポンスに出力されます。 上記のサンプル コードを通じて、HTTP サーバーの作成、GET および POST リクエストの処理、パラメータ解析、Cookie 操作などを含む、Golang で HTTP リクエストを処理する方法を学びました。この記事があなたのお役に立てば幸いです。今後も Golang の使い方や機能をさらに学習し、探索していただければ幸いです。

以上がGolang リクエスト処理ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート