gpt4 book ai didi

c - npapi插件获取http响应头的方法

转载 作者:太空宇宙 更新时间:2023-11-04 11:28:08 24 4
gpt4 key购买 nike

我是插件开发的新手。有人告诉我使用 Firebreath 来开发 npapi 插件,结果证明它非常容易。现在,我希望访问传递给插件的响应的 http 响应 header 。但我想不出一个办法,因为他们的 firebreath 可用文档很少。在 NPAPI 教程中,他们使用 npstream,但我不知道如何在 firebreath 中使用这个结构。任何帮助将不胜感激。

更新:

void tPlugin::handleUnsolicitedStream(FB::BrowserStreamRequest& req)
{
const FB::PluginEventSinkPtr sinkPtr;
req.setEventSink(sinkPtr);
responseHeaders = req.headers;
FB::HeaderMap::const_iterator it = responseHeaders.begin();
str = (*it).first + " : " + (*it).second; // str is a class variable
FB::DOM::WindowPtr window = m_host->getDOMWindow();
window->alert(str);
str = "hello";
window->alert(fname);
}

没有任何警告框出现!

void tPlugin::onPluginReady()
{
FB::DOM::WindowPtr window = m_host->getDOMWindow();
window->alert(str);
}

出现一个空的警告框!

最佳答案

如果您阅读 source对于您正在使用的 BrowserStreamRequest 对象,或者如果您阅读其创建位置的源代码会更好,您会发现该对象上有一个 headers 变量。

FB::HeaderMap headers;

FB::HeaderMap当然是在SimpleStreamHelper.h中定义的:

typedef std::multimap<std::string, std::string> HeaderMap;

而且,需要澄清的是,FireBreath 有很多文档;对于这个特定的功能来说并不多,它只在树中出现了大约一个月。

编辑:根据过去的对话,我很确定您已经在处理这个问题,但是浏览器创建的流是通过传递给 handleUnsolicitedStream 的 BrowserStreamRequest 对象提供给您的插件对象上的方法;默认情况下,您的插件不会在 fbgen 模板中覆盖此方法,但您可以添加它。

关于c - npapi插件获取http响应头的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13233756/

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