Golang HTTP Get Request带参数

来源:互联网 发布:openoffice linux使用 编辑:程序博客网 时间:2024/06/06 14:08

Golang HTTP Get Request带参数

You can use url.Values’s Encode method. You could also use URL.String to build up the whole URL.

Client:

package mainimport (    "fmt"    "log"    "net/http"    "os")func main() {    req, err := http.NewRequest("GET", "http://api.themoviedb.org/3/tv/popular", nil)    if err != nil {        log.Print(err)        os.Exit(1)    }    q := req.URL.Query()    q.Add("api_key", "key_from_environment_or_flag")    q.Add("another_thing", "foo & bar")    req.URL.RawQuery = q.Encode()    fmt.Println(req.URL.String())    // Output:    // http://api.themoviedb.org/3/tv/popular?another_thing=foo+%26+bar&api_key=key_from_environment_or_flag    var resp *http.Response    resp, err = http.DefaultClient.Do(req)    if err != nil {        log.Print(err)    }    defer resp.Body.Close()}

Server:

r.ParseForm()isDir := valuesGetDefault(r.Form, "isDir", "false")func valuesGetDefault(values url.Values, key, defaultValue string) string {    v := values.Get(key)    if v == "" {        return defaultValue    } else {        return v    }}
原创粉丝点击