Make Go http.Response详细说明所有参数

时间:2016-04-25 11:54:54

标签: android http post go

我在获取从Android应用程序发送到go应用程序的参数时遇到问题。我调用了r.FormValue(key),但它返回null。我想找到在Android应用程序发送帖子数据后检查Go端可用参数的方法。有没有办法做到这一点,不使用键获取所有参数?

2 个答案:

答案 0 :(得分:6)

go中的Request结构有一个Form字段,在调用ParseForm()后填充了请求参数。

  

表单包含已解析的表单数据,包括URL字段   查询参数和POST或PUT表单数据。此字段仅供参考   在调用ParseForm之后可用。 HTTP客户端忽略Form和   使用Body代替。

您可以在收到请求后尝试添加以下代码:

func(w http.ResponseWriter, request *http.Request) {
    request.ParseForm()
    log.Printf("%v",request.Form)

    //....
}

答案 1 :(得分:2)

如果这是用于调试,您可以使用DumpRequest

func(w http.ResponseWriter, r *http.Request) {
    dump, err := httputil.DumpRequest(r, true)
    if err != nil {
        http.Error(w, fmt.Sprint(err), http.StatusInternalServerError)
        return
    }
    log.Printf("%s", dump)
}