HTTP post 请求?param=PARAM 与 --data-urlencode

HTTP post request?param=PARAM vs --data-urlencode

我只是在查询我的 InfluxDB,我让它工作了,但我从来没有做过网络,所以我对 http 协议不是很有经验。我需要做 curl 请求。

这个很好用:

curl -X POST http://localhost:8086/api/v2/query?orgID=12345678 --header "Authorization: Token MYTOKEN" --header "Content-Type: application/vnd.flux" --data-binary 'from(bucket:"MYBUCKET") |> range(start: -55m) |> yield()'

但这不是,我不明白为什么,我认为这是同一件事,只是不同而已。

curl -X POST http://localhost:8086/api/v2/query --data-urlencode "orgID=12345678" --header "Authorization: Token MYTOKEN" --header "Content-Type: application/vnd.flux" --data-binary 'from(bucket:"MYBUCKET") |> range(start: -55m) |> yield()'

我想你不需要理解 Influx 来帮助我,我 post 这个问题经过一个小时的研究,我现在没有时间解决这个问题,有人可以解释一下这个概念吗?我?我可以让它正常工作,但这让我很沮丧,因为我认为它是同一件事。

感谢四次,Q

错误 - 是您发送了两个有效载荷。第一个示例包含 orgId 作为 url 参数。在第二个 orgId 中发送了有效负载,还发送了带有涌入查询的数据。

curl -X POST http://localhost:8086/api/v2/query 
--data-urlencode "orgID=12345678"  <-- FIRST PAYLOAD 
--header "Authorization: Token MYTOKEN" --header "Content-Type: application/vnd.flux" 
--data-binary 'from(bucket:"MYBUCKET") |> range(start: -55m) |> yield()' <-- SECOND PAYLOAD

当你发送这样的请求时,它只需要最后一个负载