2013-08-28 3 views
1

Я хотел бы переместить следующий завиток вызов RCurl:RCurl с данными HTTP Post

curl 'http://myserver.org/stream' 
-H 'Authorization: Basic XXXXXXXX' -H 'Connection: keep-alive' --data-binary '{"limit": 20}' 
-H 'Content-Type: application/json;charset=UTF-8' 

Это один из моих тестов R:

library(RCurl) 
url.opts <- list(httpheader = list(Authorization ="Basic XXXXXXXX", 
       Connection = "keep-alive", 
       "Content-Type" = "application/json;charset=UTF-8")) 

getURLContent('http://myserver.org/stream', .opts=url.opts) 

Теперь я пропускаю атрибут, чтобы добавить --data или --data-binary. Как добавить этот параметр?

Большое спасибо Markus

+1

Вы можете использовать 'getURLContent (..., customrequest = 'POST', postfields = '{ "предел": 20}')' или что-то подобное. – jdharrison

+1

Это может быть немного проще с помощью 'httr':' POST ('http://myserver.org/stream', c (authenticate (u, p, "basic"), accept_json(), body = '{"limit ": 20} ')' – hadley

ответ

2

спасибо @hadley.

Это мой рабочий раствор:

library(httr) 
user <- "test" 
password <- "test123" 
POST(url = 'http://myserver.org/stream', 
    config = c(authenticate(user, password, "basic"), 
       add_headers(Connection = "keep-alive"), 
       accept_json()), 
    body = "{'username':'test'}") 

 Смежные вопросы

  • Нет связанных вопросов^_^