我将Tor与R结合使用,并希望为每个新请求更改我的IP。我的代码如下:

library(RCurl)
opts <- list(proxy="127.0.0.1", proxyport=8118)
for (i in 1:10)
  {
  con <- socketConnection(host="127.0.0.1",port=9051)  # DOES NOT WORK
  writeLines("signal newnym", con=con)                 # DOES NOT WORK
  ip <- getURL("http://ifconfig.me/ip", .opts = opts)
  print(ip)
  Sys.sleep(1)
  }

我可以通过Tor进行连接,但是标记为“不工作”的两条线路似乎无法正确地传递给Tor,因此IP保持不变。

问候!

最佳答案

我有一个类似的问题,但是在将Privoxy安装为http-proxy并按照here的说明进行了设置之后,设法使其工作。然后,这是我在R中使用的代码:

library(RCurl)
# check current IP address
print(getURL("http://ifconfig.me/ip"))
# proxy options
opts <- list(proxy="127.0.0.1", proxyport=8118)
# opening connection with TOR
con <- socketConnection(host="127.0.0.1",port=9051)
print(getURL("http://ifconfig.me/ip", .opts = opts))

for (i in 1:10)
    {
    writeLines('AUTHENTICATE \"password\"\r\nSIGNAL NEWNYM\r\n', con=con)
    Sys.sleep(5)
    print(getURL("http://ifconfig.me/ip", .opts = opts))
    Sys.sleep(5)
    }

确保对地址为127.0.0.1:9051的TCP连接使用手动设置,并且身份验证方法为“密码”,用上面设置的密码替换上面代码中的双引号。

关于r - 在R中更改Tor身份,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11089993/

10-12 20:32