Réglage du proxy pour R

Je suis confronté à un problème en connectant R avec internet dans mon bureau. Cela peut être dû aux parameters LAN. J’ai essayé presque toutes les manières possibles que je rencontre sur le web (voir ci-dessous) mais toujours en vain.

Dans toutes les méthodes, je peux charger des paquets directement depuis CRAN et télécharger des fichiers en utilisant la commande download.file

Mais en utilisant les commandes getURL(RCurl) , readHTMLTable(XML) , htmlTreeParse(XML) je ne parviens pas à extraire des données Web. Je reçois ~\nAccess Denied\n~ erreur.

Comment définir les parameters proxy LAN pour le package XML dans R?

Sur Mac OS, j’ai trouvé la meilleure solution ici . Citant l’auteur, deux étapes simples sont:

1) Ouvrez Terminal et procédez comme suit:

 export http_proxy=http://staff-proxy.ul.ie:8080 export HTTP_PROXY=http://staff-proxy.ul.ie:8080 

2) Exécutez R et procédez comme suit:

 Sys.setenv(http_proxy="http://staff-proxy.ul.ie:8080") 

vérifier ceci avec:

 Sys.getenv("http_proxy") 

Je suis derrière un proxy universitaire et cette solution a parfaitement fonctionné. Le problème majeur est d’exporter les éléments dans Terminal avant d’exécuter R, en majuscules et en minuscules.

Le problème est avec vos options curl – le paquet RCurl ne semble pas utiliser internet2.dll . Vous devez spécifier le port séparément et vous devrez probablement fournir les informations de connexion de votre utilisateur en tant qu’identifiants réseau, par exemple,

 opts <- list( proxy = "999.999.999.999", proxyusername = "mydomain\\myusername", proxypassword = "mypassword", proxyport = 8080 ) getURL("http://stackoverflow.com", .opts = opts) 

N'oubliez pas d'échapper à toutes les barres obliques inverses dans votre mot de passe. Vous devrez peut-être également curlEscape l'URL dans un appel à curlEscape .

Pour RStudio, il vous suffit de faire ceci:

Tout d’abord, ouvrez RStudio comme toujours, sélectionnez dans le menu principal:

OutilsOptions globalesPackages

Décochez l’option: Utiliser la bibliothèque / proxy Internet Explorer pour HTTP

Et puis fermez le Rstudio, en plus vous devez:

  1. Recherchez le fichier (.Renviron) dans votre ordinateur, le plus probablement vous le trouveriez ici: C: \ Users \ votre nom d’utilisateur \ Documents. Notez que s’il n’existe pas, vous pouvez le créer en écrivant cette commande dans RStudio:

     file.edit('~/.Renviron') 
  2. Ajoutez ces deux lignes aux initiales du fichier:

     options(internet.info = 0) http_proxy="http://user_id:password@your_proxy:your_port" 

Et c’est tout..??!!!

J’ai eu le même problème à mon bureau et je l’ai résolu en ajoutant le proxy à la destination du raccourci R; Cliquez sur le bouton droit de l’icône R, les préférences et dans le champ de destination ajoutez

 "C:\Program Files\R\your_R_version\bin\Rgui.exe" http_proxy=http://user_id:passwod@your_proxy:your_port/ 

Veillez à placer le répertoire dans lequel le programme R est installé. Ça marche pour moi. J’espère que cette aide

Sur Windows 7, j’ai résolu ce problème en entrant dans les parameters de mon environnement ( essayez ce lien pour savoir comment ) et en ajoutant les variables utilisateur http_proxy et https_proxy avec mes informations de proxy.

Cet article concerne les problèmes de proxy R sur * nix. Vous devez savoir que R possède de nombreuses bibliothèques / méthodes pour récupérer des données sur Internet.

Pour ‘curl’, ‘libcurl’, ‘wget’, etc., procédez comme suit:

  1. Ouvrez un terminal. Tapez la commande suivante:

     sudo gedit /etc/R/Renviron.site 
  2. Entrez les lignes suivantes:

     http_proxy='http://username:password@abc.com:port/' https_proxy='https://username:password@xyz.com:port/' 

    Remplacez le username , le password , abc.com , xyz.com et le port par ces parameters spécifiques à votre réseau.

  3. Quittez R et lancez à nouveau.

Cela devrait résoudre votre problème avec la méthode ‘libcurl’ et ‘curl’. Cependant, je ne l’ai pas essayé avec ‘httr’. Une façon de faire cela avec ‘httr’ uniquement pour cette session est la suivante:

 library(httr) set_config(use_proxy(url="abc.com",port=8080, username="username", password="password")) 

Vous devez remplacer les parameters spécifiques à votre n / w dans les champs appropriés.

Si vous lancez R à partir d’une icône de bureau, vous pouvez append le drapeau --internet à la ligne cible (clic droit -> Propriétés), par exemple

 "C:\Program Files\R\R-2.8.1\bin\Rgui.exe" --internet2 

Inspiré par toutes les réponses liées à Internet, j’ai finalement trouvé la solution pour configurer correctement le proxy pour R et Rstudio.

Il y a plusieurs étapes à suivre, certaines étapes sont peut-être inutiles, mais la combinaison fonctionne!

  1. Ajoutez les variables d’environnement http_proxy et https_proxy avec les détails du proxy.

     variable name: http_proxy variable value: https://user_id:password@your_proxy:your_port/ variable name: https_proxy variable value: https:// user_id:password@your_proxy:your_port 
  2. Si vous démarrez R depuis une icône de bureau, vous pouvez append le drapeau --internet à la ligne cible (clic droit -> Propriétés)

    Par exemple "C:\Program Files\R\R-2.8.1\bin\Rgui.exe" --internet2

  3. Pour RStudio, il vous suffit de faire ceci:

    Tout d’abord, ouvrez RStudio comme toujours, sélectionnez dans le menu principal:

    Outils-Options globales-Packages

    Décochez l’option: Utiliser la bibliothèque / proxy Internet Explorer pour HTTP

  4. Recherchez le fichier ( .Renviron ) dans votre ordinateur, le plus probablement vous le trouveriez ici: C:\Users\your user name\Documents .

    Notez que: s’il n’existe pas, vous pouvez le créer en écrivant cette commande dans R:

     file.edit('~/.Renviron') 

    Ajoutez ensuite ces six lignes aux initiales du fichier:

     options(internet.info = 0) http_proxy = https:// user_id:password@your_proxy:your_port http_proxy_user = user_id:password https_proxy = https:// user_id:password0@your_proxy:your_port https_proxy_user = user_id:password ftp_proxy = user_id:password@your_proxy:your_port 
  5. Redémarrez R. Tapez les commandes suivantes dans R pour vous assurer que la configuration ci-dessus fonctionne correctement:

     Sys.getenv("http_proxy") Sys.getenv("http_proxy_user") Sys.getenv("https_proxy") Sys.getenv("https_proxy_user") Sys.getenv("ftp_proxy") 
  6. Maintenant, vous pouvez installer les paquets comme vous le souhaitez en utilisant la commande comme:

     install.packages("mlr",method="libcurl") 

    Il est important d’append method="libcurl" , sinon cela ne fonctionnera pas.

Le moyen le plus simple de tout faire fonctionner dans RStudio sous Windows 10 :

Ouvrez Internet Explorer, sélectionnez Internet Options :

entrer la description de l'image ici


Ouvrez l’éditeur pour les variables d’environnement:

entrer la description de l'image ici


Ajoutez une variable HTTP_PROXY sous la forme:

 HTTP_PROXY=http://username:password@localhost:port/ 

Exemple:

 HTTP_PROXY=http://John:JohnPassword@localhost:8080/ 

entrer la description de l'image ici


RStudio devrait fonctionner:

entrer la description de l'image ici

J’ai essayé toutes ces solutions ainsi que les solutions utilisant netsh, winhttp, etc. La réponse de Geek On Acid m’a aidé à télécharger des paquets depuis le serveur, mais aucune de ces solutions n’a fonctionné pour utiliser le package que je voulais exécuter (package twitteR).

La meilleure solution consiste à utiliser un logiciel qui vous permet de configurer un proxy à l’échelle du système.

FreeCap (gratuit) et Proxifier (essai) ont parfaitement fonctionné pour moi dans mon entreprise.

Notez que vous devez supprimer les parameters de proxy de votre navigateur et de toutes les autres applications que vous avez configurées pour utiliser le proxy, car ces outils fournissent un proxy pour l’ensemble du trafic réseau de votre ordinateur.

Ma solution sur un Windows 7 (32 bits). R version 3.0.2

 Sys.setenv(http_proxy="http://proxy.*_add_your_proxy_here_*:8080") setInternt2 updateR(2)