Как мне сказать интерпретатору R, как использовать прокси-сервер? - PullRequest
20 голосов
/ 28 января 2011

Я пытаюсь заставить R (работающий в Windows) загрузить некоторые пакеты из Интернета, но загрузка не удалась, потому что я не могу заставить его правильно использовать необходимый прокси-сервер. Вывод текста при попытке выбрать пункт меню Windows Пакеты > Установить пакет (ы) ... и выбрать зеркало CRAN:

> utils:::menuInstallPkgs()
--- Please select a CRAN mirror for use in this session ---
Warning: unable to access index for repository http://cran.opensourceresources.org/bin/windows/contrib/2.12
Warning: unable to access index for repository http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/2.12
Error in install.packages(NULL, .libPaths()[1L], dependencies = NA, type = type) :
no packages were specified
In addition: Warning message:
In open.connection(con, "r") :
cannot open: HTTP status was '407 Proxy Authentication Required'

Я знаю адрес и порт прокси, а также адрес сценария автоматической настройки. Я не знаю, как называется аутентификация, но при использовании прокси (в браузере и некоторых других приложениях) я ввожу имя пользователя и пароль в всплывающем диалоговом окне.

Чтобы установить прокси, я пробовал каждое из следующих действий:

Для аутентификации я также попытался установить для переменной среды http_proxy_user значение:

  • ask
  • user:passwd
  • Не трогая

Правильно ли я использую правильные команды?

Ответы [ 3 ]

20 голосов
/ 30 января 2011

У вас есть два варианта:

  1. Используйте --internet2 или setInternet2 (TRUE) и задайте параметры прокси-сервера на панели управления в разделе «Свойства обозревателя»
  2. Не используйте --internet2 или setInternet2 (FALSE), но указывайте переменные среды

РЕДАКТИРОВАТЬ: Одна хитрость в том, что вы не можете передумать между 1 и 2, после того как вы попробовали это в сеансе, т.е. если вы запустите команду setInternet2 (TRUE) и попытаетесь использовать ее, например install.packages ('reshape2'), если это не удастся, вы не сможете затем вызвать setInternet2 (FALSE). Вы должны перезапустить сеанс R.

Начиная с версии 3.2.0 R, функция setInternet2 может устанавливать параметры подключения к Интернету и изменять их в течение одного сеанса R. Нет необходимости перезапускать.


При использовании варианта 2 одним из способов (хорошо и компактно) указать имя пользователя и пароль является http_proxy = "http://user:password@proxy.example.com:8080/"

В прошлом мне больше всего повезло с вариантом 2

4 голосов
/ 22 августа 2013

Если вы хотите, чтобы internet2 использовался при каждом использовании R, вы можете добавить следующую строку в файл Rprofile.site, расположенный в Rxx \ etc \ Rprofile.site

utils::setInternet2(TRUE)
0 голосов
/ 20 января 2016

install.packages ( "RCurl")

это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...