我有一个 PHP 函数:
function http_protocol()
{
return ($_SERVER['SERVER_PORT'] == 443) ? 'https' : 'http';
}
但是,当我源自的域只是HTTP,并且我想动态链接到 HTTPS 的域时,条件返回 http。
所以,我的想法是我可以检查该站点是否响应 HTTPS 请求,如果是,则返回 https,否则返回 http。
我认为使用@get_headers 数组是可行的,并检查 [0] 值是否具有 HTTPS,但我无法确认是否存在 HTTPS 标头(例如 HTTPS/1.1)。
我一直在关注这个问题:如何通过 PHP 检查 URL 是否存在?,但我会检查 HTTPS。
我的逻辑流程是否正确,还是我遗漏了什么?
编辑:在特定示例中,我只会检查我可以控制的网站。所以我事先知道内容是否通过 HTTPS 提供。