c++ - 如何在 LSP 中找出确切的 URL?

标签 c++ windows winapi winsock2 winsock-lsp

我正在开发 LSP,我需要知道确切的 URL 是什么。

例如,假设用户正在使用 Firefox 浏览页面。我想获取页面的完整 URL,无论是 HTTP 还是 HTTPS。我该怎么做?

我可以通过获取 HTTP 请求 header (请求行和主机)来获取地址;但是协议(protocol) (http, https) 无法通过这种方式计算出来。

最佳答案

LSP 驻留在 TCP/IP 协议(protocol)栈中。如果端口号(例如 SSL 的 443)对于您的目的而言不可靠,您将必须检查 TCP 有效负载以确定数据包是使用 SSL 还是 TLS。您将必须保持状态,如果您可以看到 SSL/TLS 握手消息,那么您就知道这是一次 HTTPS 连接尝试。

握手有一个非常基本的描述SSL/TLS in Detail在 MSDN 上。

关于c++ - 如何在 LSP 中找出确切的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21643815/

相关文章:

windows - Windows 上的每小时 cronjob

c++ - 为什么类内偏特化是良构的?

Windows系统文件的Java和NTFS权限

c++ - 为什么我不能比较 chrono::weekday 和 operator<()?

c++ - Linux 到 Windows C++ 端口

perl - 使用 Perl,在 MSWin32 上 Win32API::File::MoveFile 和 CORE::rename 之间有区别吗?

c - 从 C 使用 WinRT?

c++ - 编写加载 msvcr80.dll 并公开 free() 函数的 DLL

c++ - 标记容器 - 模仿容器的界面是一个好习惯吗?

c++ - 在 C++ 中为树创建新结构