Я разрабатываю LSP, и мне нужно знать, какой именно URL.
Например, предположим, что пользователь использует Firefox для просмотра страниц. Я хочу получить полный URL страницы, будь то HTTP или HTTPS. Как я могу это сделать?
Я могу получить адрес, извлекая заголовок HTTP-запроса (Строка запроса и Host
); однако протокол (http, https) не может быть определен таким образом.
LSP находится в стеке протоколов TCP / IP. Если номера портов, например 443 для SSL, не являются надежными для вашей цели, вам придется проверить полезную нагрузку TCP, чтобы выяснить, использует ли пакет SSL или TLS. Вам нужно будет сохранить состояние, и если вы увидите сообщения рукопожатия SSL / TLS, то вы будете знать, что это попытка подключения HTTPS.
Существует очень простое описание рукопожатия SSL / TLS в деталях на MSDN.
Других решений пока нет …