确定NPAPI中的浏览器代理设置以下载页面SSL证书

时间:2011-05-30 21:08:23

标签: c++ firefox plugins openssl npapi

用户可以通过代理连接。一些使用系统范围的代理设置,另一些使用浏览器范围的代理。

在Windows上,您可以单独使用系统代理设置以及Firefox或Chrome的代理设置。因此,依赖系统代理设置是不可靠的。

唯一合乎逻辑的解决方案是使用我的插件加载的浏览器使用的任何代理设置。如果Firefox正在加载我的插件并且它有一些代理设置,我的插件也应该使用这些设置进行连接。我需要我的插件来下载加载插件的页面的SSL证书(用于进一步验证..等)。

在NPAPI中是否有某种方法可以做到这一点,或者我必须使用Windows WinInet或WinHTTP或OpenSSL for Linux和Mac等API?如果我必须这样做,那么我如何让我的插件使用主机浏览器使用的任何代理设置?我正在查看NPN_GetValueForURL,但我认为它没有良好的兼容性和良好的浏览器互操作性。

谢谢你们!

1 个答案:

答案 0 :(得分:1)

我很确定NPN_GetURLNotify()将使用浏览器的代理设置。如果没有,那就太疯狂了。

<强>更新

如果您正在编写基于NPAPI的插件,则需要使用NPN_Get / Post函数来执行HTTP请求。这将使用主机的代理设置,cookie等。出于这个原因存在这些功能;我不知道为什么你会使用Wininet或者自己动手。

查看about:config,Firefox会将代理设置存储在network.proxy。*中。您可以通过Preferences Service以编程方式访问这些设置。我想你可以配置Wininet的行为相同,但你仍然有cookie问题。