2014-02-18 4 views
0

Я работаю с алгоритмом R, который вызывает веб-сервис, который делает запрос к базе данных и возвращает объект JSON.R fromJSON не может открыть соединение

url <- paste ('https://example.com?id=1'') 
document <- fromJSON (content = url, method = 'C') 

На моей машине алгоритм обычно работает плохо, когда я иду на сервер и запустить, я получаю следующее сообщение об ошибке:

Error in file(con, "r") : cannot open the connection 
Calls: fromJSON -> fromJSON -> I -> structure -> unique 
Execution halted 

Там некоторая проблема для URL быть HTTPS?

ответ

2

Ошибки, подобные cannot open the connection, часто означают, что файл не существует или у вас нет привилегий для его чтения.

Вы не скажете, используете ли вы пакет rjson или RJSONIO, но поскольку вы включили аргумент method, я предполагаю, что это первый. rjson::fromJSON рассматривает свой первый аргумент как строку JSON. Вместо этого вы должны использовать аргумент file.

document <- fromJSON(file = url) 

В качестве передовой практики при анализе контента из Интернета вы должны сначала загрузить его; затем проанализируйте его (двумя отдельными шагами). Таким образом, когда что-то идет не так, и возникает ошибка, вы не используете переназначение пропускной способности.

Попробуйте разделить его код вверх в:

json_file <- "path/to/save/it/to/the_data.json" 
download.file(url, json_file) 
document <- fromJSON(file = json_file) 

Обратите внимание, что download.file не поддерживает https по умолчанию. В Windows вы можете сделать setInternet2(), чтобы использовать DLL подключения Internet Explorer, а затем он работает. См. Раздел «Сведения» от ?download.file.

+0

Используя ваш код, я получаю ошибку в команде по файлу download.file Ошибка в файле download.file (url, json_file): неподдерживаемая схема URL – perondi

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