3

http://127.0.0.1:8080/x?haha=1

我想得到类似的东西ctx.QueryArgs().Get("haha")

golang的fasthttp包中可以吗?

4

4 回答 4

10

找到了

ctx.QueryArgs().Peek("haha")

命名选择是出乎意料的。

于 2016-09-01T09:36:49.257 回答
4

use Peek and PeekMulti

?haha=1
ctx.QueryArgs().Peek("haha")

?haha=1&haha=2
ctx.QueryArgs().PeekMulti("haha")

Some useful methods are declared here: https://github.com/valyala/fasthttp/blob/a1cfe58ca86648c6701f1cb7e8b1587348dd5b9f/args.go#L245

于 2020-04-06T08:23:02.390 回答
3

您可以使用FormValue方法检索自定义GET、POST PUT参数: - GET(查询字符串,例如 ?user=a&pass=b); - POST、PUT身体

从字面上看,来自文档:

FormValue 返回与给定键关联的表单值。

在以下位置搜索该值:

  • 请求参数;
  • POST 或 PUT 正文。

获取表单值还有更细粒度的方法:

  • QueryArgs for obtaining values from query string.
  • PostArgs for obtaining values from POST or PUT body.
  • MultipartForm for obtaining values from multipart form.
  • FormFile for obtaining uploaded files.
token = string(ctx.FormValue("token"))

Documentation: https://godoc.org/github.com/valyala/fasthttp#RequestCtx.FormValue

于 2019-08-31T17:21:29.143 回答
0

当您没有 ctx 但拥有时,另一个选择ctx.Request是:

// somewhere
req := &ctx.Request
.
.
.
// somewhere else
req.URI().QueryArgs().Peek("somekey")
于 2019-08-05T11:26:26.550 回答