2017-04-06 6 views
0

일부 API를 가지고 놀고 있으며 간단한 질문이 있습니다. 수동으로 모든 것을 쓰는 대신 아래 URL에 쉼표로 구분 된 목록을 = 뒤에 붙여 넣으려면 어떻게해야합니까?URL을 사용하여 URL 내에서 붙여 넣기 R

X <- GET("url/?query=a,b,c,d") 

감사합니다 : 즉

library(httr) 

X <- GET("url/?query=") 

, 나는 끝낼 싶습니다 내 목록 L를 제공! 같은

업데이트 L 보인다 : 당신이 사용할 수있는

> dput(L) 
list("a","b","c","d") 
+0

왜 사용하지 않습니까? 내장 된 방법으로 쿼리 문자열을 수정 하시겠습니까? – hrbrmstr

+0

그게 무슨 뜻인지 몰라? (미안하지만 나는 R과 코딩에 매우 익숙하다.) – CHRD

답변

1

이/통과 쿼리 문자열을 구축 할 수있는 훨씬 더 안전하고 온건 한 방법입니다

library(httr) 

res <- GET(url = "http://httpbin.org/get", 
      query = list(
      query = paste0(list("a","b","c","d"), collapse=",") 
      )) 

str(content(res, as="parsed")) 
## List of 4 
## $ args :List of 1 
## ..$ query: chr "a,b,c,d" 
## $ headers:List of 5 
## ..$ Accept   : chr "application/json, text/xml, application/xml, */*" 
## ..$ Accept-Encoding: chr "gzip, deflate" 
## ..$ Connection  : chr "close" 
## ..$ Host   : chr "httpbin.org" 
## ..$ User-Agent  : chr "libcurl/7.51.0 r-curl/2.3 httr/1.2.1" 
## $ origin : chr "50.252.233.22" 
## $ url : chr "http://httpbin.org/get?query=a%2Cb%2Cc%2Cd" 
0

2 paste() :

url = paste("url/?query=",paste(L,collapse=","),sep="") 
X <- GET(url)