使用 Go 的 HTTP 包访问 POST 请求中的查询字符串
当使用 http 包在 Go 中处理 HTTP POST 请求时,您可能会遇到需要访问和解析查询字符串参数。尽管没有明确的文档,但这可以通过 Request 对象的 Query() 方法来实现。
检索查询字符串参数
提取查询字符串的语法信息如下所示:
func (r *Request) Query() Values
Query() 方法返回一个 Values 对象,它本质上是一个类似地图的结构,其中键是参数名称,值是表示关联参数值的字符串数组。
用法示例
考虑带有如下查询字符串的 POST 请求 URL http://主机:端口/某事?param1=b。使用 Query() 方法,您可以检索查询字符串参数,如下所示:
func newHandler(w http.ResponseWriter, r *http.Request) { fmt.Println("GET params were:", r.URL.Query()) // Get a single parameter param1 := r.URL.Query().Get("param1") if param1 != "" { // Process the parameter } // Get all occurrences of a parameter param1s := r.URL.Query()["param1"] if len(param1s) > 0 { // Process the parameters } }
请注意,Values 对象中的键(即参数名称)区分大小写。
以上是如何访问 Go 的 HTTP POST 请求中的查询字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!