簡體   English   中英

Tor瀏覽器,新IP無法正常工作?

[英]Tor browser, new IP not working?

我正在嘗試使用Tor瀏覽器,並在python中訪問的每個URL都獲得一個新的IP地址。 我可以打開運行Tor瀏覽器的selenium實例,但是如何在訪問的每個網站上請求新的IP?

binary = '/Applications/TorBrowser.app/Contents/MacOS/firefox'
if os.path.exists(binary) is False:
    raise ValueError("The binary path to Tor firefox does not exist.")
firefox_binary = FirefoxBinary(binary)


browser = None
def get_browser(binary=None):
    browser = webdriver.Firefox(firefox_binary=binary)
    return browser
if __name__ == "__main__":
    browser = get_browser(binary=firefox_binary)
    urls = (
        ('tor browser check', 'https://check.torproject.org/'),
        ('ip checker', 'http://icanhazip.com')
    )
    for url_name, url in urls:
        print "getting", url_name, "at", url
        browser.get(url)

要使用Python為每個請求請求一個新IP,您需要打開與ControlPort的連接並發出NEWNYM信號。

您可以使用Stem簡化連接和命令:

from stem.control import Controller
from stem import Signal

if __name__ == '__main__':
  with Controller.from_port(port = 9051) as controller:
    controller.authenticate('password')  # provide the password here if you set one

    controller.signal(Signal.NEWNYM) # switch to clean circuits

請記住,Tor可能會限制NEWNYM請求的速率,因此您可能需要等待一小段時間(默認10秒)才能發出該命令。 另外,由於出口節點數量有限,您的電路可能會獲得相同的出口節點,具體取決於發出的請求數量。

每次要獲取新的IP(交換電路)時,都需要發出此命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM