6

使用 net/http 我想要一种方法来获取当前请求字符串和方法,即 GET、POST、PUT 等。

这可能吗 - 我在文档中看不到

4

4 回答 4

13

您可以使用 Request 结构的以下字段:

Method string

RequestURI string

建议你看一下struct的源码:Request struct source code

您可以通过单击 go doc 中 net/http 包的结构名称来访问它。

于 2013-07-29T22:21:35.637 回答
8

在文档中,从http://golang.org/pkg/net/http开始,然后点击“type Request”链接到http://golang.org/pkg/net/http#Request。您需要的一切都可以作为 Request 的字段或方法使用。

例如,HTTP 方法是 Request.Method。路径和查询参数分别在 Request.URL.Path 和 Request.URL.Query() 中。

http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "%s %q", r.Method, html.EscapeString(r.URL.Path))
})

log.Fatal(http.ListenAndServe(":8080", nil))
于 2013-07-29T22:22:51.450 回答
0

Yes you can. all of that data is available inside of the HttpRequest. If you look in the Request.HttpMethod you will see the method (ie Get). You also have access to the header information if needed as well. depending on what you are doing, the FilePath, Path and several other properties will provide you with the data that has been posted.

于 2013-07-29T22:29:01.930 回答
0

请求相关信息,您可以使用:r.Method [以字符串形式获取方法](对于其他人https://golang.org/pkg/net/http/#Request

请求 URL 相关信息,您可以使用以下方法获取它:r.URL.Query() [获取查询参数作为地图],r.URL.Path [获取路径作为字符串](其他请查看https://golang.org/ pkg/net/url/#URL )

如果您需要任何具体内容,请随时留言。

于 2020-12-15T00:36:40.307 回答