PHP get_headers 和 curl 都给出空结果
PHP get_headers and curl both give empty result
我知道有一些类似的话题,但不一样。我有一个工作代码,用很多不同的 url - http 和 https 进行了测试 - 没有任何问题。然后,我找到了一个网站...当我询问 URL header 时,我得到的答案是空数组。
get_headers("https://www.diversalertnetwork.org/diving-incidents/Divers-air-consumption-appeared-unbelievably-good", 1);
结果是一个空数组。
Array
(
)
我也在尝试使用 CURL 但结果相同。我尝试下载 url 的内容,但什么也没有。你可以试试看。惊喜!如果我从 https:// 修改为 http://,它将开始工作。当然,https link 在浏览器中工作得很好。此外,get_headers 与其他 https:// link 一起工作。
使用 curl 我使用我自己的浏览器的用户代理,所以如果服务器出于任何安全原因尝试检测,那是真实的。我真的不知道我能做什么,最重要的是,发生了什么,为什么没有任何答案,不是错误或其他什么。
php 5.6
我的浏览器显示有关该站点的 HTTPS 连接的警告:
The connection to this site uses an obsolete protocol (TLS 1.0), an obsolete key exchange (RSA), and an obsolete cipher (3DES_EDE_CBC with HMAC-SHA1).
所以这可能只是因为您的系统禁用了与仅支持过时安全协议的站点的 HTTPS 连接。
有关 SSL 的哪些 Apache 配置设置相关,可在此处找到:https://superuser.com/a/882651
我知道有一些类似的话题,但不一样。我有一个工作代码,用很多不同的 url - http 和 https 进行了测试 - 没有任何问题。然后,我找到了一个网站...当我询问 URL header 时,我得到的答案是空数组。
get_headers("https://www.diversalertnetwork.org/diving-incidents/Divers-air-consumption-appeared-unbelievably-good", 1);
结果是一个空数组。
Array
(
)
我也在尝试使用 CURL 但结果相同。我尝试下载 url 的内容,但什么也没有。你可以试试看。惊喜!如果我从 https:// 修改为 http://,它将开始工作。当然,https link 在浏览器中工作得很好。此外,get_headers 与其他 https:// link 一起工作。 使用 curl 我使用我自己的浏览器的用户代理,所以如果服务器出于任何安全原因尝试检测,那是真实的。我真的不知道我能做什么,最重要的是,发生了什么,为什么没有任何答案,不是错误或其他什么。
php 5.6
我的浏览器显示有关该站点的 HTTPS 连接的警告:
The connection to this site uses an obsolete protocol (TLS 1.0), an obsolete key exchange (RSA), and an obsolete cipher (3DES_EDE_CBC with HMAC-SHA1).
所以这可能只是因为您的系统禁用了与仅支持过时安全协议的站点的 HTTPS 连接。
有关 SSL 的哪些 Apache 配置设置相关,可在此处找到:https://superuser.com/a/882651