下面是一个例子:
value := r.FormValue("field")
有关更多信息。关于超文本传输协议包,您可以在此处访问它的留档。FormValue
基本上返回POST或PUT值,或GET值,按此顺序,它找到的第一个。
下面是一个关于如何获取参数的更具体示例。Request
对象有一个方法可以为您解析它们,称为Query:
假设请求URL为http://host:port/something?param1=b
func newHandler(w http.ResponseWriter, r *http.Request) {
fmt.Println("GET params were:", r.URL.Query())
// if only one expected
param1 := r.URL.Query().Get("param1")
if param1 != "" {
// ... process it, will be the first (only) if multiple were given
// note: if they pass in like ?param1=¶m2= param1 will also be "" :|
}
// if multiples possible, or to process empty values like param1 in
// ?param1=¶m2=something
param1s := r.URL.Query()["param1"]
if len(param1s) > 0 {
// ... process them ... or you could just iterate over them without a check
// this way you can also tell if they passed in the parameter as the empty string
// it will be an element of the array that is the empty string
}
}
还要注意“值映射中的键[即Query()返回值]区分大小写。”
根据定义,查询字符串位于URL中。您可以使用req访问请求的URL。URL
(doc)。URL对象有一个Query()。
如果您要查找的是HTML表单提交的POST数据,那么这(通常)是请求正文中的一个键值对。您的答案是正确的,您可以调用
ParseForm()
,然后使用req。Form
字段以获取键值对的映射,但也可以调用FormValue(key)
以获取特定键的值。如果需要,它将调用ParseForm()
,并获取值,而不管它们是如何发送的(即在查询字符串中或在请求正文中)。
问题内容: 我正在使用Go中的程序包来处理POST请求。如何访问和解析对象中查询字符串的内容?我从官方文档中找不到答案。 问题答案: 根据定义,QueryString 位于URL中。您可以使用(doc)访问请求的URL 。URL对象具有一个返回类型的方法(doc),该类型只是QueryString参数的一个。 如果您要查找的是HTML表单提交的POST数据,那么(通常)这是请求正文中的键/值对。您
我用Go编写了一个简单的服务器: 以及一个用Python编写的用于测试的简单客户端。以下是代码: 每次客户端访问服务器时,服务器都会产生这个错误: 我知道如何在Go中处理JSON Post请求 Python版本==3.4 Go版本==1.7 先谢谢你。
我使用Laravel 8。用户点击一个包含id的链接#()我的应用程序从浏览器收到一个$请求,并通过我的问题是如何将id#输入php变量?
我正在使用GWT和Spring controller来管理http流量。有些请求可能需要很长时间,但我希望在超过给定时间时终止请求。 我如何配置超时Spring。我也使用Apache Tomcat 7.0。我试图在tomcat上inrease最大线程,但有一段时间tomcat工作缓慢,因为请求线程不会死。
我用Ktor构建了一个Web服务器,并想缓存API方法结果。但是我不知道如何从下面call.response.代码中获取响应正文 如果我无法获得响应体,还有其他解决方案可以在Ktor中缓存API方法的结果吗?
为什么它不起作用? 返回java.net中的错误=