2016-10-20 3 views
1

J'ai un problème étrange. J'utilise le package quantmod pour obtenir les tarifs du fournisseur "Oanda". Il utilise en interne la fonction download.file, qui échoue avec un messagedownload.file ne fonctionne que sur https

URL ne peut pas ouvrir 'http://www.oanda.com/ .....'

j'ai pu réduire le problème à:

> 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' 

Notez la différence dans http/https ci-dessus.

Ceci est reproductible pour tout autre domaine. Je suis complètement perdu car je ne peux pas google n'importe quelle trace de ceci arriver à n'importe qui d'autre. de la ligne de commande fonctionne parfaitement pour les deux adresses.

Détails de l'environnement probablement sans rapport: J'ai installé RCurl. Il est exécuté sous le serveur local shiny installé sur AWS. Ubuntu 14LTS.

Alors, comment puis-je faire quantmod à utiliser https pour son appel ou comment puis-je faire download.file de travailler avec http?

+0

Je suppose que vous avez essayé de définir l'argument 'method' de' download.file() 'à' "wget" '? – Chrisss

+2

En outre, vous pouvez essayer 'options (download.file.method =" wget ")' avant de télécharger avec quantmod. Reportez-vous à: https://github.com/joshuaulrich/quantmod/issues/83 En outre, comme il fonctionne bien avec http sur mon Ubuntu16.04, mise à jour curl pourrait faire l'affaire. J'ai curl 7.49.0 –

+0

@ R.S. La définition de 'download.file.method' à' "wget" 'dans' options' a aidé. Merci beaucoup, pourriez-vous s'il vous plaît copier-coller ce commentaire comme réponse afin que je puisse l'accepter les futurs visiteurs? – mudasobwa

Répondre

4

Je poste mon commentaire ci-dessus comme réponse.

S'il vous plaît se référer à ce rapport de bogue: http://github.com/joshuaulrich/quantmod/issues/83

Il semble qu'il y ait un problème avec boucle.

Si wget fonctionne correctement, vous pouvez suivre le même conseil et essayer la commande R options(download.file.method="wget") pour effectuer le téléchargement de quantmod en utilisant wget au lieu de curl.