2012-06-18 29 views
19

Tôi đang sử dụng Tor kết hợp với R và muốn thay đổi IP của tôi cho mỗi yêu cầu mới. Mã tôi có là như sau:Thay đổi nhận dạng Tor trong 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) 
    } 

Tôi có thể kết nối thông qua Tor, tuy nhiên hai dòng đánh dấu là 'không hoạt động' dường như không nhận được tín hiệu thích hợp trên để Tor, vì vậy chỉ IP vẫn như nhau.

Trân trọng!

Trả lời

8

Tôi gặp sự cố tương tự nhưng đã quản lý để làm cho nó hoạt động sau khi cài đặt Privoxy dưới dạng proxy http và thiết lập nó như được giải thích here. Sau đó, đây là đoạn code tôi sử dụng trong 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) 
    } 

Hãy chắc chắn rằng bạn đang sử dụng các thiết lập thủ công cho kết nối TCP, với địa chỉ 127.0.0.1:9051, và các phương pháp xác thực là "password", thay thế mật khẩu giữa dấu ngoặc kép trong mã ở trên với mã bạn đã đặt.

Các vấn đề liên quan