Настройка прокси для R
Я сталкиваюсь с проблемой при подключении R с интернетом в моем офисе. Может быть, это связано с настройками локальной сети. Я перепробовал почти все возможные способы, с которыми я сталкиваюсь в сети (см. Ниже), но все же тщетно.
Метод 1: вызов R с использованием
--internet2
Метод 2: вызов R путем установки
~/Rgui.exe http_proxy=http:/999.99.99.99:8080/ http_proxy_user=ask
Метод 3: Настройка
Setinternet2=TRUE
Method4:
curl <- getCurlHandle() curlSetOpt(.opts = list(proxy = '999.99.99.99:8080'), curl = curl) Res <- getURL('http://www.cricinfo.com', curl = curl)
Прежде всего, я могу загружать пакеты напрямую из CRAN, а также загружать файлы с помощью команды download.file.
Но используя getURL(RCurl)
, readHTMLTable(XML)
, htmlTreeParse(XML)
Команды Я не могу извлечь веб-данные. я получаю ~<HEAD>\n<TITLE>Access Denied</TITLE>\n</HEAD>~
ошибка.
Как установить настройки прокси-сервера локальной сети для пакета XML в R?
12 ответов
На Mac OS я нашел лучшее решение здесь. По словам автора, два простых шага:
1) Откройте Терминал и сделайте следующее:
export http_proxy=http://staff-proxy.ul.ie:8080
export HTTP_PROXY=http://staff-proxy.ul.ie:8080
2) Запустите R и сделайте следующее:
Sys.setenv(http_proxy="http://staff-proxy.ul.ie:8080")
перепроверьте это с:
Sys.getenv("http_proxy")
Я за университетский прокси, и это решение сработало отлично. Основной проблемой является экспорт элементов в Терминале перед запуском R, как в верхнем, так и в нижнем регистре.
Для RStudio вам просто нужно сделать это:
Во-первых, откройте RStudio, как всегда, выберите в верхнем меню:
Инструменты-Глобальные параметры-Пакеты
Снимите флажок: Использовать библиотеку / прокси Internet Explorer для HTTP
А затем закройте Rstudio, кроме того, вы должны:
Найдите файл (.Renviron) на вашем компьютере, скорее всего, вы найдете его здесь: C:\Users\ ваше имя пользователя \Documents. Обратите внимание, что если он не существует, вы можете создать его, просто написав эту команду в RStudio:
file.edit('~/.Renviron')
Добавьте эти две строки в инициалы файла:
options(internet.info = 0) http_proxy="http://user_id:password@your_proxy:your_port"
И это все..??!!!
Проблема с вашими параметрами скручивания - RCurl
пакет, кажется, не использует internet2.dll
, Вам необходимо указать порт отдельно, и, вероятно, вам нужно будет указать данные для входа в систему в качестве сетевых учетных данных, например:
opts <- list(
proxy = "999.999.999.999",
proxyusername = "mydomain\\myusername",
proxypassword = "mypassword",
proxyport = 8080
)
getURL("http://stackru.com", .opts = opts)
Не забывайте избегать обратной косой черты в вашем пароле. Вам также может понадобиться обернуть URL в вызове curlEscape
,
У меня была та же проблема в моем офисе, и я решил ее, добавив прокси в место назначения ярлыка R; щелкните правой кнопкой мыши значок R, предпочтения и в поле адресата добавьте
"C:\Program Files\R\your_R_version\bin\Rgui.exe" http_proxy=http://user_id:passwod@your_proxy:your_port/
Обязательно поместите каталог, в котором установлена программа R. Это подходит для меня. Надеюсь, это поможет.
Этот пост относится к проблемам R-прокси в *nix. Вы должны знать, что R имеет много библиотек / методов для извлечения данных через Интернет.
Для 'curl', 'libcurl', 'wget' и т. Д. Просто сделайте следующее:
Откройте терминал. Введите следующую команду:
sudo gedit /etc/R/Renviron.site
Введите следующие строки:
http_proxy='http://username:password@abc.com:port/' https_proxy='https://username:password@xyz.com:port/'
замещать
username
,password
,abc.com
,xyz.com
а такжеport
с этими настройками, специфичными для вашей сети.Выйдите из R и запустите снова.
Это должно решить вашу проблему с помощью методов "libcurl" и "curl". Тем не менее, я не пробовал это с "httr". Один из способов сделать это только с помощью httr для этого сеанса:
library(httr)
set_config(use_proxy(url="abc.com",port=8080, username="username", password="password"))
Вам необходимо заменить настройки, специфичные для вашего н / ж, в соответствующих полях.
Вдохновленный всеми ответами, касающимися Интернета, я наконец нашел решение для правильной настройки Proxy для R и Rstudio.
Необходимо выполнить несколько шагов, возможно, некоторые из них бесполезны, но комбинация работает!
Добавить переменные среды
http_proxy
а такжеhttps_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
Если вы запускаете R с иконки на рабочем столе, вы можете добавить
--internet
пометка к целевой линии (правый клик -> Свойства)например
"C:\Program Files\R\R-2.8.1\bin\Rgui.exe" --internet2
Для RStudio вам просто нужно сделать это:
Во-первых, откройте RStudio, как всегда, выберите в верхнем меню:
Инструменты-Глобальные опции-Пакеты
Снимите флажок: Использовать библиотеку / прокси Internet Explorer для HTTP
Найти файл (
.Renviron
) на вашем компьютере, скорее всего, вы найдете его здесь:C:\Users\your user name\Documents
,Обратите внимание, что: если он не существует, вы можете создать его, просто написав эту команду в R:
file.edit('~/.Renviron')
Затем добавьте эти шесть строк в инициалы файла:
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
Перезапустите R. Введите следующие команды в R, чтобы убедиться, что приведенная выше конфигурация работает хорошо:
Sys.getenv("http_proxy") Sys.getenv("http_proxy_user") Sys.getenv("https_proxy") Sys.getenv("https_proxy_user") Sys.getenv("ftp_proxy")
Теперь вы можете установить пакеты, как вы хотите, с помощью команды, например:
install.packages("mlr",method="libcurl")
Важно добавить
method="libcurl"
иначе это не сработает.
Если вы запускаете R с иконки на рабочем столе, вы можете добавить --internet
Пометить целевую линию (щелкните правой кнопкой мыши -> Свойства), например
"C:\Program Files\R\R-2.8.1\bin\Rgui.exe" --internet2
В Windows 7 я решил эту проблему, зайдя в настройки своего окружения ( попробуйте эту ссылку, чтобы узнать как) и добавив переменные пользователя http_proxy
а также https_proxy
с моими данными прокси.
Самый простой способ заставить все работать в RStudio под Windows 10
:
Откройте Internet Explorer, выберите Internet Options
:
Откройте редактор для переменных среды:
Добавьте переменную HTTP_PROXY в форму:
HTTP_PROXY=http://username:password@localhost:port/
Пример:
HTTP_PROXY=http://John:JohnPassword@localhost:8080/
RStudio должен работать:
Опробовал все это, а также решения с использованием netsh, winhttp и т. Д. Ответ Geek On Acid помог мне загрузить пакеты с сервера, но ни одно из этих решений не помогло использовать пакет, который я хотел запустить (пакет twitteR).
Лучшее решение - использовать программное обеспечение, которое позволит вам настроить общесистемный прокси.
FreeCap (бесплатно) и Proxifier (пробная версия) отлично работали для меня в моей компании.
Обратите внимание, что вам нужно удалить настройки прокси из вашего браузера и любых других приложений, которые вы настроили для использования прокси, так как эти инструменты предоставляют общесистемный прокси для всего сетевого трафика с вашего компьютера.
- Найдите свой дом R с
R.home("home")
- Добавьте следующие строки в свой дом R
http_proxy=http://proxy.dom.com/
http_proxy_user=user:passwd
https_proxy=https://proxy.dom.com/
https_proxy_user=user:passwd
- Открыть R -> R читает
Renviron.site
в своем доме -> он должен работать :)
Мое решение на Windows 7 (32bit). R версия 3.0.2
Sys.setenv(http_proxy="http://proxy.*_add_your_proxy_here_*:8080")
setInternt2
updateR(2)