Я использую R для написания программы и выполнения некоторых анализов. Данные записываются сторонним поставщиком с MongoDB в формате JSON. Они предоставляют его мне через URI на порту 443, который они хотят, чтобы я запрашивал с использованием cURL. У них есть аутентификация и самоподписанный SSL.Как использовать RCURL или RMongo через HTTP с аутентификацией и самоподписанным SSL для чтения в данных JSON
я могу проверить подлинность и выводить данные через завиток в Windows, однако для создания долгосрочного устойчивого решения, это должно быть сделано в R.
Продавец говорит, что RCurl «должен» работать, но они Арен» t предоставляя какую-либо поддержку, и они в основном просто не любят идею использования RMongo и не комментируют это (но если бы мы могли заставить это работать, это было бы потрясающе, на мой взгляд).
я следующие пакеты загружены - ggplot2 - DBI - rjson - RJSONIO (я иногда не загружать этот, если я использую rjson или наоборот) - RMongo - rstudio - RCURL
Самозаверяющий сертификат вызвал проблемы даже с завитой, но они были устранены путем редактирования настроек в Ruby, а затем запускают CMD-оболочку с Ruby и с помощью этого завитка. Я не уверен, связаны ли проблемы с R.
При попытке пройти RCurl маршрут я в конечном итоге с командами/ошибок, как это:
x <- getURL("https://xxx.xx.xxx.xxx:443/db/_authenticate", userpwd="xxxx:xxxxx") }{Error in function (type, msg, asError = TRUE) : couldn't connect to host
и при попытке использовать RMongo я еще более невежественны ...
> mongo <- mongoDbConnect("xxx.xx.xxx.xxx")
имя пользователя = "хххх" пароль = "XXXXXXXXXXXXX" подлинности < - dbAuthenticate (монго, имя пользователя, пароль) 25 февраля 2013 4:00:09 PM com.mongodb.DBT CPConnector fetchMaxBsonObjectSize ПРЕДУПРЕЖДЕНИЕ: Исключение, определяющее размер maxBSON using0 java.io.IOException: не удалось подключиться к [/127.0.0.1:27017] bc: java.net.ConnectException: соединение отклонено: подключите к com.mongodb.DBPort. open (DBPort.java:224) at com.mongodb.DBPort.go (DBPort.java:101) at com.mongodb.DBPort.go (DBPort.java:82) at com.mongodb.DBPort.findOne (DBPort.java:142) на com.mongodb.DBPort.runCommand (DBPort.java:151) на com.mongodb.DBTCPConnector.fetchMaxBsonObjectSize (DBTCPConnector.java:429) в com.mongodb.DBTCPConnector.checkMaster (DBTCPConnector .java: 416) at com.mongodb.DBTCPConnector.call (DBTCPConnector.java:193) at com.mongodb.DBApiLayer $ MyCollection. _find (DBApiLayer.java:303) at com.mongodb.DB.command (DB.java:159) at com.mongodb.DB.command (DB.java:144) at com.mongodb.DB._doauth (DB.java:503) в com.mongodb.DB.authenticate (DB.java:440) в rmongo.RMongo.dbAuthenticate (RMongo.scala: 24)
Error in .jcall([email protected], "Z", "dbAuthenticate", username, :
com.mongodb.MongoException$Network: can't call something
Feb 25, 2013 4:00:10 PM com.mongodb.DBPortPool gotError
WARNING: emptying DBPortPool to 127.0.0.1:27017 b/c of error
java.io.IOException: couldn't connect to [/127.0.0.1:27017] bc:java.net.ConnectException: Connection refused: connect
at com.mongodb.DBPort._open(DBPort.java:224)
at com.mongodb.DBPort.go(DBPort.java:101)
at com.mongodb.DBPort.go(DBPort.java:82)
at com.mongodb.DBPort.call(DBPort.java:72)
at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:202)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:303)
at com.mongodb.DB.command(DB.java:159)
at com.mongodb.DB.command(DB.java:144)
at com.mongodb.DB._doauth(DB.java:503)
at com.mongodb.DB.authenticate(DB.java:440)
at rmongo.RMongo.dbAuthenticate(RMongo.scala:24)
любая помощь будет очень ценим!
Ваше имя, скорее всего, вводит в заблуждение. Вы не используете http :, а https: –