2012-06-18 5 views
19

Я использую Tor в комбинации с R и хотел бы изменить свой IP для каждого нового запроса. Код у меня выглядит следующим образом:Изменение идентификатора Tor в R

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 остается такой же.

С уважением!

ответ

8

У меня была аналогичная проблема, но мне удалось заставить ее работать после установки Privoxy в качестве http-прокси-сервера и настройки его, как описано 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) 
    } 

Убедитесь, что вы используете ручную настройку для соединения TCP, с адресом 127.0.0.1:9051, и метод аутентификации «пароль», подставляя пароль между двойными кавычками в коде выше с тем, который вы установили.