2017-06-27 20 views
0

JSONデータをSplunkにアップロードするには、Rプログラムを使用してHTTPS POST要求を行う必要があります。Rプログラミング+ HttpsのPOST Jsonリクエストを作成

私は...それは私はそれがHTTPSリクエストへのサポートを提供していませんカールかもしれ感じさせるHTTPS ..上の単純なGETコールを実行中に同じですが、取得エラーのためにカールライブラリーを模索しています

Rstudio:バージョン1.0。 136 R:3.3.2 カール:バージョン2.3

================================== ============ サンプルコード:

library(curl) 
request <- curl_fetch_memory("https://httpbin.org/get") 

Error : Error in curl_fetch_memory("https://httpbin.org/get") : 
     Failure when receiving data from the peer 

however, i the similar GET request for http endpoint works pretty fine. 
i.e. request <- curl_fetch_memory("http://httpbin.org/get") 

答えて

0

httrのLiBr進は同様に、投稿するためのhttr::POST機能がありますAPIエンドポイント

library(httr) 

httr::GET("https://httpbin.org/get") 

# Response [https://httpbin.org/get] 
# Date: 2017-06-27 05:24 
# Status: 200 
# Content-Type: application/json 
# Size: 326 B 
# { 
# "args": {}, 
# "headers": { 
#  "Accept": "application/json, text/xml, application/xml, */*", 
#  "Accept-Encoding": "gzip, deflate", 
#  "Connection": "close", 
#  "Host": "httpbin.org", 
#  "User-Agent": "libcurl/7.51.0 r-curl/2.5 httr/1.2.1" 
# }, 
# "origin": "45.126.44.231", 
# ... 

に取得し、投稿するために使用することができます。

例のPOSTが

requestBody <- paste0('{ 
"foo" : [ 
    {"id" : "myId", 
    "values" : {"a" : "b"} 
    } 
] 
}') 

res <- httr::POST(url = url, 
        httr::add_headers('Content-Type' = 'application/json'), 
        httr::add_headers('Accept' = 'application/json'), 
        httr::add_headers('X-Application-Id' = appId), 
        httr::add_headers('X-Api-Key' = apiKey), 
        body = requestBody, 
        encode = "json") 
+0

私はこれも開こうとしました..しかし、いくつかの方法は、http GET要求[httr :: GET( "http://httpbin.org/get")]を押すことができますが、https GETは使用できません。カールで エラー:: curl_fetch_memory(URL、=ハンドルハンドル):httpsのための –

+0

は、私はエラーを取得していGETタイムアウトに達した ... が、それは、プロキシの設定に関連していますか? –

1

httpsを作ると推測としてR.

で動作するように呼び出すことが最後にできようになり、それが企業の影響を与えたプロキシHTTPSトラフィックではなく、HTTPの問題でした。 http://blog.csdn.net/wangishero/article/details/50859670

a) in Rstudio, go to "Tools --> Global Options --> Packages " . Uncheck the option "User Internet Explorer library/proxy for http" 

b) # load httr library 
library(httr) 

c) # set proxy configuration 
set_config(use_proxy(url="<corporate proxy>",port=<port>, username="<username>", password="<ur pwd>")) 

d) # this is to prevent SSL warning 
set_config(config(ssl_verifypeer = 0L)) 

は今、私はすべての問題のないHTTPS要求を実行することができます。

はここ..ポストのおかげで、私が実行されるステップです。

関連する問題