我正在尝试在AWS EC2实例上的代理后面使用R,但是我不知道如何检查我是否实际上在该代理后面。 我的代理服务器使用 端口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))
但是,即使再次应用Sys.setenv()函数,IP地址也不会更改。 所以我想我不在我要使用的代理后面。
任何人都知道如何执行此操作吗?
不胜感激!
编辑:
答案 0 :(得分:0)
因此,如果我采用 Soundcloud ,其中已授权进行抓取。这是我的输出,告诉我我的代理未经身份验证:
正在尝试XXX.XXX.XXX.XXX ...
设置了TCP_NODELAY
- 已连接到XXX.XXX.XXX.XXX(XXX.XXX.XXX.XXX)端口80(#0)
- 建立到soundcloud.com的HTTP代理隧道:443 CONNECT soundcloud.com:443 HTTP / 1.1主机:soundcloud.com:443 User-Agent:R(3.4.1 x86_64-redhat-linux-gnu x86_64 linux-gnu)
- 代理连接:保持活动状态
- download.file(url,destfile =“ scrape_website.html”,quiet = FALSE):无法打开URL 'https://soundcloud.com/liluzivert/new-patek'
- 另外:警告消息:在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
连接:保持活动<> *忽略4个字节的响应正文
- 请求的URL返回错误:407
- 保持主机XXX.XXX.XXX.XXX完整的连接#0