如何加密传出的 https 请求

How to Encrypt outgoing https requests

有没有办法完全加密从软件到服务器的传出 HTTPS 请求?我的意思是有像 Charles 和 Fiddler 这样的应用程序可以捕获 HTTPS 流量并看到像 Headers,URL,... 我不希望任何人看到或捕获来自我的应用程序的流量。 我正在使用 Delphi 10.1 VCL 应用程序

如果您使用的是 HTTPS,并且像浏览器一样正确验证证书,则中间人无法查看 URL 或 headers 或内容。他们只能看到您正在与哪个服务器通信。

Charles 解决这个问题的方法是它提供自己的 non-genuine 证书,该证书不会验证,并代理通信。如果您的应用正在验证证书,它将拒绝与 Charles 代理通信。如果您使用 Web 浏览器查看 Charles 代理,它会显示 SSL 证书错误。

如果您信任特定的 Charles 代理并想在您的客户端或浏览器中添加例外,您可以。但它只允许那个特定的 - 这并不意味着其他任何人都可以使用他们自己的 Charles 代理或类似代理来拦截您的 HTTPS 或读取 URL 等。