網頁

2021/10/2

Golang 從http.Request取得URL參數 get url query string

Go 從http網頁伺服器接收的請求http.Request取得url參數(query string)的方式如下。


Go以http.HandleFunc(pattern string, handler func(ResponseWriter, *Request)))處理請求時,會將http.Request傳入handler函式的第二個參數。

使用http.Request.URL.Query().Get(key string)即可取得url參數。

例如下面在處理請求的函式中取得url請求參數key為name的值。

main.go

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/demo", func(rw http.ResponseWriter, r *http.Request) {
        name := r.URL.Query().Get("name") // get URL param with key "name"
        fmt.Fprint(rw, name)
    })

    http.ListenAndServe(":8080", nil)
}

啟動程式在瀏覽器網址列輸入http://localhost:8080/demo?name=john得到的回應結果如下。

john

或在命令列以curl發出curl -X GET "http://localhost:8080/demo?name=john"的回應如下。

$ curl -X GET "http://localhost:8080/demo?name=john"
john


沒有留言:

張貼留言