使用httr包处理url中的空格

使用httr包处理url中的空格,r,json,api,http,url,R,Json,Api,Http,Url,我想知道如何让GET从httr包中自动处理包含空格的参数值 当我将其粘贴到浏览器中时: http://quickstats.nass.usda.gov/api/api_GET/?key=MYAPIKEY&commodity_desc=AG LAND&short_desc=AG LAND, IRRIGATED - ACRES&short_desc=AG LAND - ACRES&year__GE=2015&state_alpha=NC 空间替换为%20,数

我想知道如何让
GET
httr
包中自动处理包含空格的参数值

当我将其粘贴到浏览器中时:

http://quickstats.nass.usda.gov/api/api_GET/?key=MYAPIKEY&commodity_desc=AG LAND&short_desc=AG LAND, IRRIGATED - ACRES&short_desc=AG LAND - ACRES&year__GE=2015&state_alpha=NC
空间替换为%20,数据从现场获取。这是浏览器返回的url:

https://quickstats.nass.usda.gov/api/api_GET/?key=MYAPIKEY&commodity_desc=AG%20LAND&short_desc=AG%20LAND,%20IRRIGATED%20-%20ACRES&short_desc=AG%20LAND%20-%20ACRES&year__GE=2015&state_alpha=NC
对象
my_commodity_desc
中的“农业用地”和
my_short_desc1
中的“农业用地,灌溉面积”等参数中都有空格,我认为这就是问题所在

这是我正在运行的代码,用于从以下位置获取数据:

#url

nass_url您可以使用base R的
URLencode
(来自package
utils
),它的功能与浏览器的功能大致相同:

URLencode(路径\u nc\u irrig\u土地)
#>[1]“api/api\u GET/?key=myAPIKey&commodity\u desc=AG%20LAND&short\u desc=AG%20LAND%20-%20ACRES&short\u desc=AG%20LAND%20-%20ACRES&year\u GE=2015&state\u alpha=NC”
# url
nass_url <- "http://quickstats.nass.usda.gov"
# commodity description of interest
my_commodity_desc <- "AG LAND"

# short description of interest (i.e., 'data item' on NASS Quick Stats website)
my_short_desc1 <- "AG LAND, IRRIGATED - ACRES"
my_short_desc2 <- "AG LAND - ACRES"

# query start year
my_year <- "2015"

# state of interest
my_state <- "NC"

# final path string
path_nc_irrig_land <- paste0("api/api_GET/?key=", NASS_API_KEY,
                             "&commodity_desc=", my_commodity_desc,
                             "&short_desc=", my_short_desc1,
                             "&short_desc=", my_short_desc2,
                             "&year__GE=", my_year,
                             "&state_alpha=", my_state)
# Run the query
raw_result_nc_irrig_land <- GET(url = nass_url, path = path_nc_irrig_land)