實作 - 從零開始用 Golang 寫網頁 - 02 獲得 http 請求參數

[實作] 從零開始用 Golang 寫網頁 : 02 獲得 http 請求參數

取得 http 請求的內容,這些內容保存在 http.Request 中,也就是上一篇中 myWeb 函式中的參數 r

1
2
3
4
5
6
7
8
9
10
11
12
13
14
func myWeb(w http.ResponseWriter, r *http.Request) {

r.ParseForm()

for k, v := range r.URL.Query() {
fmt.Println("key : ", k, ", value : ", v[0])
}

for k, v := range r.PostForm {
fmt.Println("key : ", k, ", value : ", v[0])
}

fmt.Fprintf(w, "我的網頁")
}

myWeb

  • 使用 r.ParseForm(),將數據填充到 r.Formr.PostForm

  • 接著循環打印出 r.URL.Query() 函式返回的值和 r.PostForm 值裡的每一個參數

結果

  • 用終端機使用 curl 指令 Post 網站
1
curl --request POST --url "http://localhost:8080/?name=kenny" --header "cache-control: no-cache" --header "content-type: application/x-www-form-urlencoded" --data description=hello
  • 就會打印出 http 請求參數
1
2
key :  name , value :  kenny
key : description , value : hello
tags: 實作 Golang 網站
Author: Kenny Li
Link: https://kennyliblog.nctu.me/2020/09/04/Golang-Web2/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.