gpt4 book ai didi

r - 使用 R httr GET 函数的 `query` 参数发送向量

转载 作者:行者123 更新时间:2023-12-05 03:51:26 25 4
gpt4 key购买 nike

为了发送一个值向量,比如一个数组 list_a = c(1,2,3) FastAPI 将接受以下形式的 URL:

https://wherever.com/endpoint?list_a=1&list_a=2&list_a=3

但是使用库 httr's query parameter对于 GET 函数,您必须传递一个键/值对列表。这意味着您不能两次拥有相同的字段,因为 R 显然不会接受具有重复键的列表。

那我该怎么做呢?我可以自己构建 URL,但问题是我的一些参数中有双引号 ("),如果我将它们直接放入 url,它们似乎无法正确解析。不过,query 参数似乎确实可以正确处理这些问题。

有没有什么办法可以获取httr的GETquery参数来创建多个相同的字段名?

或者,我如何对预创建的 URL 进行编码,其中包含双引号,如下所示,这样它就不会导致 FastAPI 在 HTTP 错误时给出?

"query/Crude/?actual_table_name=live.crude&report_id=xxxxxxx&fields=IMO&where={\"Barrels\":{\"gt\":1},\"conjunction\":\"\"} &where={\"加载日期\":{\"gt\":\"'2000-01-01'\"},\"连词\":\"\"}&offset=1e+05&limit=10000"

最佳答案

我认为自己构建查询字符串最简单,然后您可以在结果上使用 URLencode:

url <- "query/Crude/?actual_table_name=live.crude&report_id=xxxxxxx&fields=IMO&where={\"Barrels\":{\"gt\":1},\"conjunction\":\"\"}&where={\"Load Date\":{\"gt\":\"'2000-01-01'\"},\"conjunction\":\"\"}&offset=1e+05&limit=10000"
URLencode(url)
#> [1] "query/Crude/?actual_table_name=live.crude&report_id=xxxxxxx&fields=IMO&where=%7B%22Barrels%22:%7B%22gt%22:1%7D,%22conjunction%22:%22%22%7D&where=%7B%22Load%20Date%22:%7B%22gt%22:%22'2000-01-01'%22%7D,%22conjunction%22:%22%22%7D&offset=1e+05&limit=10000"

关于r - 使用 R httr GET 函数的 `query` 参数发送向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62874993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com