0

我已经修改了 Microsoft 的 LSP(Winsosk 分层服务提供商)示例,以制作用于桌面的 Web 过滤器应用程序。我可以通过将 http 标头中的主机与文件中的禁止网站列表进行比较来阻止对网站的访问。如果一个网页被阻止,LSP 将用显示该页面被禁止的 html 页面填充缓冲区。我在 Firefox 4、Opera 11 和 IE 6 上进行了测试,并显示了一个阻止页面。但是,Chrome 11(最新版)中未显示此类页面。

我想知道 Chrome 是否以不同的方式处理 LSP。

这是我输入 LSP WSPRecv 函数的缓冲区。

    string strBufferHdr;
    char len[10];
    _itoa_s (strBufferHTML.size(), len, 10);

    strBufferHdr += "HTTP/1.1 200 OK\r\n";
    strBufferHdr += "content-type: text/html; charset=UTF-8\r\n";
    strBufferHdr += "connection: close\r\n";
    strBufferHdr += "content-length: ";
    strBufferHdr += len;
    strBufferHdr += "\r\n\r\n";
    strBufferHdr += strBufferHTML;
    strBufferHdr += "\n\n\n";

strBufferHTML 是一个 html 页面内容。

谢谢你。

4

1 回答 1

0

Chrome 使用重叠 I/O,因此除了 spi.cpp 之外,您还需要将调用 WSPRecv 的代码放在重叠.cpp 中。(来自 nonifslsp SDK 示例的文件名。)

于 2011-07-18T02:40:57.790 回答