Используйте R за прокси на экземпляре EC2 - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь использовать R за прокси на экземпляре AWS EC2, но я не знаю, как проверить, действительно ли я за этим прокси. Мой прокси использует порт 80 и требует пароль «pwd: 123.ABC» для правильной работы (иллюстративно).

proxy_http_url <- "http://123.123.123:80"
proxy_https_url <- proxy_http_url
Sys.setenv(http_proxy = proxy_http_url, http_proxy_user = "pwd:123.ABC", https_proxy = proxy_https_url, https_proxy_user = " pwd:123.ABC ", ftp_proxy = proxy_http_url)  

download.file(url, destfile ='get_data.html', quiet = FALSE)

Чтобы узнать, изменится ли мой IP-адрес, я сделал следующее:

url <- "http://ipinfo.io/ip"
download.file(url, destfile ='ip_test.html', quiet = FALSE)
ip_test <- website_url%>%html_nodes(xpath="//body")%>%html_text()
ip_test <- data.frame(matrix(unlist(ip_test), nrow=length(ip_test), byrow=T))

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

У кого-нибудь есть идеи, как это сделать?

Помощь очень ценится!

EDIT:

1 Ответ

0 голосов
/ 20 сентября 2018

Так что, если я возьму Soundcloud , где разрешено соскоб.Вот вывод, который у меня есть, который говорит мне, что мой прокси не аутентифицирован:

  • пробуя URL 'https://soundcloud.com/liluzivert/new-patek'

  • пробуя XXX.XXX.XXX.XXX ...

  • TCP_NODELAY set

  • Подключено к XXX.XXX.XXX.XXX (XXX.XXX.XXX.XXX) к порту 80 (# 0)
  • Установить прокси-туннель HTTP для soundcloud.com:443 ПОДКЛЮЧИТЬ soundcloud.com:443 HTTP / 1.1 Хост: soundcloud.com:443 Пользователь-агент: R (3.4.1 x86_64-redhat-linux-gnu x86_64 linux-gnu)
  • Proxy-Connection: Keep-Alive
  • Ошибка в download.file (url, destfile = "scrape_website.html", quiet = FALSE): не удается открыть URL 'https://soundcloud.com/liluzivert/new-patek'
  • Дополнительно: предупреждающее сообщение: In download.file (url, destfile = "scrape_ website.html", quiet = FALSE): URL-адрес 'https://soundcloud.com/liluzivert/new-patek': статус был «HTTP-код ответа с ошибкой»
  • HTTP / 1.1 Требуется аутентификация прокси-сервера 407 <Сервер: squid / 3.5.23 <Mime-версия: 1.0 <Дата: Чт, 20 сен. 2018 11:52:41 GMT <Content-Type: text / html; charset = utf-8 <Content-Length: 4 <X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0 <Proxy-Authenticate: Basic realm = "login" <X-Cache: MISS from s_sh96 <Через: 1.1 s_sh96 (squid / 3.5.23) </p>

  • Соединение: keep-alive <> * Игнорировать 4 байта тела ответа

  • Запрошенный URL-адрес вернул ошибку: 407
  • Соединение № 0 с хостом XXX.XXX.XXX.XXX осталось без изменений
...