Golang リクエスト処理ガイド
Golang は、Web 開発やネットワーク プログラミングの分野で広く使用されている、効率的で簡潔な同時実行性の高いプログラミング言語です。ネットワーク プログラミングでは、HTTP リクエストの処理は重要な部分です。この記事では、HTTP サーバーの作成、GET および POST リクエストの処理、パラメータ解析、Cookie 操作などを含む、Golang で HTTP リクエストを処理する方法を紹介し、詳細なコード例を示します。
まず、リクエストを受信する HTTP サーバーを作成する必要があります。 Golang では、net/http
パッケージで提供される ListenAndServe
メソッドを使用して、単純な HTTP サーバーを作成できます。コードは次のとおりです。上のコードでは、ルート パス (「/」) に対するリクエストを処理するために、
メソッドを通じてリクエスト処理関数 handler
を指定します。次に、http.ListenAndServe
メソッドを通じて、ポート 8080 でリッスンする HTTP サーバーを起動します。 2. GET リクエストの処理
メソッドを通じて取得できます。以下は、GET リクエストを処理するサンプル コードです。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>package main
import (
"net/http"
"fmt"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, World!")
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
上記のコードでは、
メソッドを通じて「name」という名前の URL パラメーターを取得し、それを Responding に出力します。 3. POST リクエストの処理
メソッドを通じて 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("name")
fmt.Fprintf(w, "Hello, %s!", name)
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
上記のコードでは、
メソッドを通じて「name」という名前のフォーム データを取得し、それを出力します。応答に。 4. パラメーターの解析
メソッドを使用して 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("name")
fmt.Fprintf(w, "Hello, %s!", name)
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
上記の例では、「name」フィールドを含む JSON データを解析し、Responding に出力するための
構造体を定義します。 5. Cookie 操作
メソッドを使用して Cookie を設定し、r.Cookie
メソッドを使用して Cookie を取得できます。以下は、Cookie を設定および取得するためのサンプル コードです。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>import (
"encoding/json"
"io/ioutil"
)
type Person struct {
Name string `json:"name"`
}
func handler(w http.ResponseWriter, r *http.Request) {
body, _ := ioutil.ReadAll(r.Body)
var person Person
json.Unmarshal(body, &person)
fmt.Fprintf(w, "Hello, %s!", person.Name)
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
上記のコードでは、まず「username」という名前の Cookie を設定し、次に
メソッドを通じてそれを取得します。このCookieの値がレスポンスに出力されます。 上記のサンプル コードを通じて、HTTP サーバーの作成、GET および POST リクエストの処理、パラメータ解析、Cookie 操作などを含む、Golang で HTTP リクエストを処理する方法を学びました。この記事があなたのお役に立てば幸いです。今後も Golang の使い方や機能をさらに学習し、探索していただければ幸いです。
以上がGolang リクエスト処理ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。