You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

含分号的查询参数导致表单取值为空的问题求助

含分号的查询参数导致表单取值为空的问题求助

我最近在处理Go语言的HTTP请求查询参数时碰到了个棘手的问题,想过来问问大家有没有解决思路:

  • 当请求的查询参数是 ?file=hello; 时,我完全拿不到file的参数值,它是空的;
  • 但如果参数是 ?file=hello(去掉末尾的分号),就能正常获取到hello这个值。

我已经试了两种解析参数的写法,结果都不太对:

第一种写法:

err := r.ParseForm()
fmt.Println(err)
fileName := r.FormValue("file")

第二种写法:

var err error
r.Form, err = url.ParseQuery(r.URL.String())
fmt.Println(err)
fileName = r.FormValue("file")

两种方式都会输出错误:invalid semicolon separator in query,而且不管是查看PostForm还是Form,得到的都是空的map。我本来期望解析后能得到map[file:[hello;]]这样的结果,现在完全达不到预期,有没有朋友知道这该怎么解决呀?

备注:内容来源于stack exchange,提问作者suhaib motaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 07:53:09