【发布时间】:2018-09-17 20:53:37
【问题描述】:
我试图在 AWS EC2 实例上的代理后面使用 R,但我不知道如何检查我是否真的在这个代理后面。 我的代理使用 port 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() 函数后也是如此。 所以我猜我不在我想使用的代理后面。
有人知道怎么做吗?
帮助非常感谢!
编辑:
【问题讨论】:
-
ifconfig系统命令只显示您的内部 IP。内部是指那些由您的 VPC 的 DHCP 服务器分配给您的实例。为了检查您的 IP 对外部站点可见,您需要在 R 脚本中设置代理并检查返回的 HTML 后请求任何类似于 ipinfo.io/ip 的服务。 -
您好,我抓取了ipinfo.io/ip 的输出IP,并且该ip 仍然是同一个,不是我的代理,所以我的代码可以工作。
-
您能否通过获取 ipinfo 的内容来更新您上面的代码示例?
-
我现在刚刚编辑。
-
下载文件后
Sys.getenv("http_proxy")返回什么?如果将download.file替换为getURL会怎样?
标签: r http amazon-ec2 proxy ifconfig