如何读取HTTP代理服务器中的所有完整目标网址?以下代码仅适用于HTTP URL。对于HTTPS,它只会返回Server:443
而不是完整的网址。
procedure TManager.OnHTTPBeforeCommand(AContext: TIdHTTPProxyServerContext);
var
URL:String;
begin
URL := AContext.Target;
end;
答案 0 :(得分:1)
HTTPS代理使用HTTP CONNECT
动词,它不连接到URL,只连接主机:端口。 Web客户端首先连接到目标服务器以建立基本连接,然后与该服务器建立SSL会话,然后向其发送实际的HTTP请求。由于请求已加密,因此TIdHTTPProxyServer
无法捕获完整的HTTPS网址。