Kategoriler
Kodlama

Bir URL’in durum kodunu sorgulamak (PHP)

PHP ile bir URL’in HTTP durum kodunu getirip ona göre fonksiyon yazmak.

PHP’de bir URL’i daha sonra kullanmadan önce verdiği HTTP durum koduna göre ayrıştırmak için get_headers fonksiyonu kullanılabilir, bu PHP 7 ve sonrasında kullanıma sunuldu, öncesi için alternatif $http_response_header.

Bu iş online olarak en iyi yapan web sitesi: httpstatus.io

Örnek kod:

/* URL header OK? */
function urlIsOk($URL){
    $headers = @get_headers($URL);
    $httpStatus = intval(substr($headers[0],9,3));
    if ($httpStatus<400){
        return true;
    }
    return false;
}

Kullanım:

$file = 'https://wolkanca.com/';
if ( urlIsOk($file) ) {
	echo $file.' çalışıyor';
} else {
	echo $file.' çalışmıyor';
}

Örnek olarak verdiğim kod HTTP durumu 400 ve üzerinde ise false, altında ise true döndürür.

Ayrıca ek olarak işinize yarayabilecek bir ipucu da file_get_contents ile getireceğiniz dosyaya GET olarak gönderdiğiniz sorgunun belirleyeceğiniz bir User-Agent ve veya Cookie ile yapmak için stream_context_create fonksiyonunu kullanabilirsiniz, örnek aşağıdaki gibi:

$URL = "";

$options = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: tr\r\n" .
              "Cookie: wolkanca=OK\r\n" .
              "User-Agent: wolkanca"
  )
);

$context = stream_context_create($options);
$file = file_get_contents($url, false, $context);

Tabi stream_context_create ile farklı kendinize özel header bilgileri de gönderebilirsiniz ve getirilecek dosya/url güvenliğini üst düzeye çıkarmış olursunuz, mesela ilgili url’in sadece sizin bildiğiniz header ile istendiği taktirde çalışması, veya istenen yere, konuma, referansa göre yönlendirilmesi vs. gibi. Bunlar güzel şeyler 🙂 Kolay gelsin.

wolkanca.com’da Bir URL’in durum kodunu sorgulamak (PHP) veya diğer konular hakkında herhangi bir sorunuz varsa, sosyal medya butonları ile yorum ya da mesaj göndermekten çekinmeyin, Bir URL’in durum kodunu sorgulamak (PHP) için ya da değil DM kapısı her daim açık. Yazıyı beğendiyseniz paylaşın, daha fazla ilgili gönderi için hemen aşağıdaki menülere göz gezdirebilirsiniz, okuduğunuz için teşekkürler, saygılar sevgiler.

WOLKANCA

Volkan Yılmaz

Digital Marketing & WordPress & SEO - wolkanca mahallesi gmail sokak nokta com.