2016-10-26 20 views
0

Я знаю, что есть такая же тема, но не то же самое. У меня есть рабочий код, протестированный с большим количеством разных url-http и https, без каких-либо проблем. Затем я нашел веб-сайт ... когда я спрашиваю URL-заголовок, я получил пустой ответ массива.PHP get_headers и curl оба дают пустой результат

get_headers("https://www.diversalertnetwork.org/diving-incidents/Divers-air-consumption-appeared-unbelievably-good", 1); 

И в результате получается EMPTY массив.

Array 
(
) 

Я также пытаюсь использовать CURL, но такой же результат. Я пытаюсь загрузить контент url, но ничего. Можешь попробовать. Сюрприз! Если я изменю на http: // из https: //, он начнет работать. Конечно, https-ссылка работает очень хорошо в браузере. Кроме того, get_headers работают с другими ссылками https: //. С curl я использую свой собственный пользовательский агент своего браузера, так что это реально, если сервер попытается обнаружить по какой-либо причине безопасности. Я действительно не знаю, что я могу сделать, и самое главное, что происходит, почему нет ответа, а не ошибка или что-то еще.

PHP 5.6

+0

Браузер предупреждает о подключении HTTPS этого сайта: _ "Подключение к этому месту использует устаревший протокол TLS (1,0), устаревший обмен ключами (RSA) и устаревший шифр (3DES_EDE_CBC с HMAC-SHA1). "Таким образом, может быть просто, что на вашей системе соединение HTTPS с сайтами, которые поддерживают только устаревшие протоколы безопасности, отключено. Правильно ли настроен отчет об ошибках PHP для отображения предупреждений? – CBroe

+0

Да, это так. \t ini_set ("display_errors", 1); \t ini_set ("error_reporting", E_ALL^​​E_NOTICE); В любом случае, мой хром покажет мне (i) перед ссылкой и не зеленый, но если я прочитаю информацию, то сказал: Действительный сертификат Подключение к этому сайту с использованием действительного сертификата доверенного сервера. –

+0

Да, но если вы проверите детали, вы увидите то же предупреждение, которое я процитировал. И для меня вышеуказанная строка кода работает нормально и возвращает заголовки. – CBroe

ответ

0

Мой браузер отображает предупреждение о подключении HTTPS этого сайта:

Подключение к этому месту использует устаревший протокол (TLS 1.0), устаревший обмен ключей (RSA), и устаревший шифр (3DES_EDE_CBC с HMAC-SHA1).

Таким образом, может случиться так, что на вашей системе соединение HTTPS с сайтами, поддерживающими только устаревшие протоколы безопасности, отключено.


Какие настройки конфигурации Apache в отношении SSL актуальны, можно найти здесь: https://superuser.com/a/882651