17

以下はgoで書かれたサーバーです。

package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
    fmt.Fprintf(w,"%s",r.Method)
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

URLPOSTに送信されたデータを抽出するにはどうすればよいですか?localhost:8080/something

4

6 に答える 6

34

このような:

func handler(w http.ResponseWriter, r *http.Request) {
    r.ParseForm()                     // Parses the request body
    x := r.Form.Get("parameter_name") // x will be "" if parameter is not set
    fmt.Println(x)
}
于 2013-05-12T22:27:29.607 に答える
7

のドキュメントから引用http.Request

// Form contains the parsed form data, including both the URL
// field's query parameters and the POST or PUT form data.
// This field is only available after ParseForm is called.
// The HTTP client ignores Form and uses Body instead.
Form url.Values
于 2013-05-12T21:08:29.103 に答える
0

通常のリクエストの場合:

r.ParseForm()
value := r.FormValue("value")

マルチパートリクエストの場合:

r.ParseForm()
r.ParseMultipartForm(32 << 20)
file, _, _ := r.FormFile("file")
于 2019-05-17T09:13:54.723 に答える