Скачать.файл работает только через https

#r #quantmod

#r #quantmod

Вопрос:

У меня странная проблема. Я использую quantmod пакет для получения тарифов от провайдера «oanda». Он внутренне использует download.file функцию, которая завершается сбоем с сообщением

не удается открыть URL ‘http://www.oanda.com /…..’

Я смог сузить проблему до:

 > download.file("https://oanda.com", destfile="/tmp/gh")
trying URL 'https://oanda.com'
downloaded 95 KB

> download.file("http://oanda.com", destfile="/tmp/gh")
trying URL 'http://oanda.com'
Error in download.file("http://oanda.com", destfile = "/tmp/gh") : 
  cannot open URL 'http://oanda.com'
  

Обратите внимание на разницу в http / https выше.

Это воспроизводимо для любого другого домена. Я полностью потерян, поскольку не могу найти в Google никаких следов того, что это произошло с кем-либо еще. wget из командной строки отлично работает для обоих адресов.

Вероятно, сведения о среде, не связанные: я RCurl установил. Он запускается с локального shiny сервера, установленного на AWS. Ubuntu 14LTS.

Итак, как я могу заставить quantmod использовать https для его вызова или как я могу заставить download.file работать с http ?

Комментарии:

1. Я предполагаю, что вы пытались установить method аргумент download.file() в "wget" ?

2. Кроме того, вы можете попробовать options(download.file.method="wget") перед загрузкой использовать quantmod. Обратитесь к этому: github.com/joshuaulrich/quantmod/issues/83 Кроме того, поскольку он отлично работает с http на моем Ubuntu16.04, обновление curl может помочь. У меня curl 7.49.0

3. @R.S. Установка download.file.method значения "wget" в options помогло. Большое вам спасибо, не могли бы вы, пожалуйста, скопировать и вставить этот комментарий в качестве ответа, чтобы я мог принять его для будущих посетителей?

4. @Chrissss Я этого не делал, поскольку не понимал, как заставить quantmod понять это. Помогла широкая система options , предложенная R.S. Спасибо!

Ответ №1:

Я публикую свой комментарий выше в качестве ответа.

Пожалуйста, ознакомьтесь с этим сообщением об ошибке:http://github.com/joshuaulrich/quantmod/issues/83

Кажется, есть проблема с curl.

Если wget работает нормально, вы можете последовать тому же совету и попробовать команду R options(download.file.method="wget") , чтобы выполнить загрузку quantmod с использованием wget вместо curl.