20

I am using Tor in combination with R and would like to change my IP for each new request. The code I have is as follows:

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)
  }  

I am able to connect via Tor, however the two lines marked as 'DOES NOT WORK' don't seem to get the proper signal across to Tor, so the IP stays the same.

Regards!

4

1 に答える 1

8

同様の問題がありましたが、Privoxy を http-proxy としてインストールし、ここで説明したように設定した後、なんとか機能させました。次に、これは私が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 接続に手動設定を使用していること、および認証方法が「パスワード」であることを確認してください。上記のコードの二重引用符で囲まれたパスワードは、設定したものに置き換えてください。

于 2012-07-13T18:56:59.667 に答える