据此,localhost默认不转发到代理: http://kb.mozillazine.org/Network.proxy.no_proxies_on
我的问题是:如何删除 localhost 作为例外?
我的 Firefox 中的代理选项中的“无代理”字段已经为空,但 localhost 并未被转发到代理。
about:config 中的 network.proxy.no_proxies_on 也已经为空。
我正在尝试实现的具体场景是:
我有两台 Windows 10 机器:代理服务器 A 和客户端 B
服务器 A 正在运行 bitvise ssh 服务器。客户端 B 通过 Putty 作为 socks 5 代理连接到它。服务器 A 在 localhost:9001 上运行一个本地 Web 服务器,我想从客户端 B 在 Firefox 中访问它。
答案1
除了从“无代理”框中删除 localhost 和 127.0.0.1 之外,您还必须更改其他设置。设置network.proxy.allow_hijacking_localhost
为。true
about:config
最近情况有所改变。资料来源:https://bugzilla.mozilla.org/show_bug.cgi?id=1535581
答案2
我在 Arquillian 测试中遇到了同样的问题。
我只是改变了这个偏好:
network.proxy.allow_hijacking_localhost", true
我的代码:
FirefoxOptions options = new FirefoxOptions();
options.setProxy(seleniumProxy);
options.addPreference("network.proxy.allow_hijacking_localhost", true);
WebDriver driver = new FirefoxDriver(geckoservice, options);
(geckoservice
需要 Firefox 48 及以上版本https://www.seleniumhq.org/docs/04_webdriver_advanced.jsp)
编辑:我使用 Firefox Developer 版本 69。