gpt4 book ai didi

RSelenium:配置 Firefox 远程驱动程序以使用 Tor 网络

转载 作者:行者123 更新时间:2023-12-04 09:47:40 24 4
gpt4 key购买 nike

我正在尝试在 linux 机器上使用本地代理 (Tor) 将 RSelenium 与 firefox 一起使用。

我在安装 Tor 之后没有问题 this tuto , 和命令行 wget -qO - https://api.ipify.org; echo给我一个新的IP。

现在我愿意通过端口 9050 上的 Tor localhost 使用带有 RSelenium 的 firefox:

State       Recv-Q Send-Q                                 Local Address:Port                                                Peer Address:Port
LISTEN 0 128 127.0.0.1:9050 *:*
LISTEN 0 128 127.0.0.1:9051 *:*

我使用了一个独立的 selenium java (selenium-server-standalone-2.53.0.jar),它与常规的 RSelenium 一起工作得很好:这是一个在 ipchicken 上显示 ip 的示例
library(RSelenium)

remDr <- remoteDriver(
remoteServerAddr = "localhost",
port = 4444L,
browserName = "firefox"
)

remDr$open()
remDr$navigate("https://ipchicken.com/")
ip <- remDr$findElements(using = "css", value ='b')
print(ip[[1]]$getElementText())

我确实得到了我的 IP。现在我想看到它发生在 Tor 上。因此,我尝试在将远程驱动程序与 firefox 连接时添加代理选项:
eCaps <- list("moz:firefoxOptions" = list(
args = c('--proxy-server=localhost:9050'
)))

remDr <- remoteDriver(
remoteServerAddr = "localhost",
port = 4444L,
browserName = "firefox",
extraCapabilities = eCaps
)

我试过 '--proxy-server=localhost:9050' , '--proxy-server=http://localhost:9050' , '--proxy-server=socks5://localhost:9050' , '--proxy-server=127.0.0.1:9050' ,它没有输出任何错误并给了我我的初始IP。所以它不起作用。独立版说它确实使用选项执行:例如
22:59:10.288 INFO - Executing: [new session: Capabilities [{nativeEvents=true, browserName=firefox, javascriptEnabled=true, moz:firefoxOptions={args=--proxy-server= 127.0.0.1:9050}, version=, platform=ANY}]])
22:59:10.297 INFO - Creating a new session for Capabilities [{nativeEvents=true, browserName=firefox, javascriptEnabled=true, moz:firefoxOptions={args=--proxy-server= 127.0.0.1:9050}, version=, platform=ANY}]
22:59:30.323 INFO - Done: [new session: Capabilities [{nativeEvents=true, browserName=firefox, javascriptEnabled=true, moz:firefoxOptions={args=--proxy-server= 127.0.0.1:9050}, version=, platform=ANY}]]

我究竟做错了什么 ?

编辑

在user1207289的回答之后,在意识到你可以直接 create a firefox profile之后在 RSelenium , 我试过:
eCaps <- makeFirefoxProfile(list(network.proxy.type = 1,
network.proxy.socks = "127.0.0.1",
network.proxy.socks_port = 9050,
network.proxy.socks_version = 5))

remDr <- remoteDriver(
remoteServerAddr = "localhost",
port = 4444L,
browserName = "firefox",
extraCapabilities = eCaps
)

我用整数表示 network.proxy.socks_port , network.proxy.socks_portnetwork.proxy.type因为 this question ,但也尝试了字符,但没有任何成功。我试过有没有 network.proxy.socks_version = 5 ,但它没有用(我得到了我的正常 ip)。我试过 network.proxy.socks_port = 9150 ,但它没有用。

我也试过
eCaps <- list("moz:firefoxOptions" = list(
args = c('network.proxy.socks=127.0.0.1:9050' ,'network.proxy.type=1' )
)
)

但这也不起作用。

最佳答案

我可以通过下面的 webdriver 和 firefox 连接到 TOR。只需确保 TOR 已安装并正在运行。我在mac(catalina)上使用它。您可以根据您的操作系统检查端口设置,以防它们不同。

它在 c# 中,但您几乎可以对任何绑定(bind)执行此操作

            FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.SetPreference("network.proxy.type", 1);
firefoxOptions.SetPreference("network.proxy.socks", "127.0.0.1");
firefoxOptions.SetPreference("network.proxy.socks_port", 9150);

FirefoxDriverService service = FirefoxDriverService.CreateDefaultService();

IWebDriver driver = new FirefoxDriver(service, firefoxOptions);

当这打开一个Firefox浏览器实例时,只需访问 https://check.torproject.org/在同一个实例上检查它是否连接到 TOR。这将确认您已连接并且还会显示您的新 IP

关于RSelenium:配置 Firefox 远程驱动程序以使用 Tor 网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62074583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com