2013-12-03 2 views
0

Я работал всю ночь, чтобы узнать, какую функцию использовать (в основном работает cURL и DOM).Знайте, будет ли жить домен переадресовываться на https или нет

Мне всегда давали только домен, иногда с поддержкой SSL, то есть paypal.com. Но переход на paypal.com перенаправит меня на https://paypal.com, и это здорово.

То, что я хочу есть, учитывая область, знать, что веб-сайт перенаправляет меня на HTTPS или не HTTPS

Вот рабочий я в настоящее время, это скручиваться, если у вас есть какие-либо другие идеи, которые были бы будь велика. На самом деле, я бы предпочел решения, использующие DOM, так как я использовал DOM в моем сценарии.

$a = 'paypal.com'; 
$b = "http://" . $a . "/"; 
$url = $b; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_AUTOREFERER, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_MAXREDIRS, 5); 
curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
$lastUrl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); 
echo "Original: $url <br>Final: $lastUrl"; 
exit; 

Спасибо!

ответ

1

Вы можете проверить порт на $_SERVER['SERVER_PORT'], если вы получаете порт "443", это означает, что URL-адрес включен SSL. вы можете попробовать, как этот

if(isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT']=="443"){ 
     $domain = "https://".$_SERVER['HTTP_HOST']."/"; 
     }else{ 
     $domain = "http://".$_SERVER['HTTP_HOST']."/"; 
     } 
echo $domain; 

Надежда должна работать для вас ..

Смежные вопросы