【问题标题】:SWT Browser Plugin does not promt for proxy authenticationSWT 浏览器插件不提示进行代理身份验证
【发布时间】:2011-10-31 16:24:39
【问题描述】:

通过将 VM 参数 -Dnetwork.proxy_host 和 -Dnetwork.proxy_port 设置为相应的值,我已成功配置我的 SWT 浏览器应用程序以使用代理。

但是代理需要认证,但是用户名/密码提示没有打开。此外,在注册身份验证侦听器时,永远不会触发侦听器。

Linux Debian 64 位发行版出现问题。为 Windows 编译相同的应用程序时,一切正常,即密码提示打开。 SWT 浏览器配置为使用 MOZILLA,而不是 WEBKIT。不幸的是,我无法使用 WEBKIT 进行测试,因为我受限于给定的环境。

临时解决方案:启动 Linux Mozilla 浏览器时,出现提示。如果在那里输入正确的值,然后启动 SWT 浏览器应用程序,则根本不需要身份验证并且可以访问 Internet。但这不是一个好的解决方案。

当我使用“addLocationListener”注册位置侦听器以查看 url 调用发生了什么时,我可以看到初始 url(例如 www.google.de)结果调用代理服务器的某个 http 站点.这个 http 站点是对代理的 https 站点的重定向。然后 https 站点导致再次调用 http 重定向页面。然后这是一个无限循环。 我猜想在 SWT Browser 类的 JAVA 代码中的某个地方有一个例程调用这些页面的 setUrl(导致 无限循环)并由于某种原因跳过调用任何身份验证侦听器。

也许有人知道此身份验证过程中出了什么问题?

【问题讨论】:

    标签: authentication browser swt mozilla prompt


    【解决方案1】:

    我没有解决方案,只有一个提示:我不确定您所说的“Linux Mozilla 浏览器”是什么意思——我知道 Firefox 和 Xulrunner。但您的解决方法表明个人资料信息以某种方式共享,这不应该发生。

    我试图找到一些如何定义配置文件的信息(网络浏览器保存其缓存、配置、SSL 证书、插件等的位置)但无济于事。

    FAQ 中的这个条目显示了如何设置代理主机:How do I set a proxy for the Browser to use?

    尝试想办法将用户/密码信息添加到发送到代理服务器的请求中。如果失败,请创建一个本地代理,作为上游连接到真正的代理,并且可以对自己进行身份验证。

    查看bug库,不支持浏览器配置文件:Flexible Mozilla profile support - new API request

    【讨论】:

    • 感谢您的回复。是的,我的意思确实是带有“Linux Mozilla 浏览器”的 Firefox 应用程序。我现在在我的笔记本上安装了一个本地代理(squid),在我的笔记本上使用密码验证,一切正常,即出现提示。但是很难说,因为环境有点不同(同样的java程序,但代理配置、架构和linux发行版可能不同。我会在工作中继续研究这个问题。
    • 是的,似乎确实在应用程序之间共享了一些身份验证数据。不确定这是否是一种通缉行为。
    • 这不应该发生;您使用的是哪个版本的 SWT?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-13
    • 2017-11-29
    • 2013-09-23
    • 2014-07-02
    • 2012-09-12
    相关资源
    最近更新 更多