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

C++ 正在确定NPAPI中的浏览器代理设置以下载页面SSL证书,c++,firefox,plugins,openssl,npapi,C++,Firefox,Plugins,Openssl,Npapi,用户可以通过代理建立连接。一些使用系统范围的代理设置,另一些使用浏览器范围的代理 例如,在Windows上,您可以拥有系统代理设置以及Firefox或Chrome单独的代理设置。因此,依赖系统代理设置是不可靠的 唯一合乎逻辑的解决方案是使用浏览器加载我的插件时使用的任何代理设置。如果Firefox正在加载我的插件,并且它有一些代理设置,那么我的插件也应该使用这些设置进行连接。我需要我的插件下载该插件加载页面的SSL证书(用于进一步验证..等等) 在NPAPI中是否有这样做的方法,或者我必须使用W

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

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

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

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

谢谢你们

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

更新

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

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

我非常确定这将使用浏览器的代理设置。如果没有,那就太疯狂了

更新

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


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

但它如何向我提供代理设置的详细信息?(例如,我可以使用WinInet代码的设置)您无法从NPAPI插件访问首选项(或任何其他浏览器内部服务),因此这是不允许的。但它如何向我提供代理设置详细信息?(例如,我可以使用WinInet代码的设置)您无法从NPAPI插件访问首选项(或任何其他浏览器内部服务),因此这是不可能的。