Azat Metin
Azat Metin

İnternet teknolojisini yakından takip edip web programlamaya gönül vermiş ve blogunda yararlı kaynak kodları, dökümanlar paylaşan birisi.

Twitter


PHP ile mobil operatör sorgulama

R10da gezerken bir üyenin mobil operatör sorgulama ile ilgili yardım konusunu gördüm. Birkaç ay önce ufak bir projede kullandığım bağlantıyı paylaşmak istedim. Aşağıdaki yapı ile telefon numaralarının güncel operatörlerini sorgulayabilirsiniz.
Verileri yabancı bir kontör yükleme sitesinden çekiyoruz. Beğendiğim nokta ise sonuçların gerçekten güncel olması. Yani numara sahibi operatörünü değiştirmiş olsa bile güncel operatörünü görebiliyoruz.

FORM yapısını paylaşmaya gerek duymadım. cURL ile sayfaya post geçiyoruz. POST bölümünü kendinize göre editlersiniz.

<?php 
$phone = "905300000000";  // post göndereceğimiz numaradır. 9 ile başlamalı ve numaranın başında artı işareti olmamalıdır.

function opcek($url, $post){
	$user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1';
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_POST, true);
	curl_setopt($ch, CURLOPT_POSTFIELDS, $post);	
	curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
	$icerik = curl_exec($ch);	
	curl_close($ch);
	return $icerik;	
	}	
			
	$op_veri = "country=TR&category=9&number=+" . $phone;
	$op_site = opcek("https://www.fonmoney.com/fonmoney/ajax/checkNumber/",trim($op_veri));
//bağlantımızı yaptık. operatör çıktımızı sitede aratıyoruz.
	if(eregi("turkcell",$op_site)){
		$operator = "Turkcell";	
		}elseif(eregi("avea",$op_site)){
			$operator = "Avea (Türk Telekom)";
		}elseif(eregi("vodafone",$op_site)){
			$operator = "Vodafone";
//eğer site bir çıktı vermediyse, operatörümüzün boş değer gelmesini önlemek için wikipediadan almış olduğumuz kodları operatör değişkenine tanımlıyoruz :)
	}else{
		$opsorgu = substr($phone, 2, 3);
		$telekom = array(501, 505, 506, 507, 551, 552, 553, 554, 555, 559);
		$turkcell = array(530, 531, 532, 533, 534, 535, 536, 537, 538, 539);
		$vodafone = array(540, 541, 542, 543, 544, 545, 546, 547, 548, 549);
		$kktc_telsim = array(54285, 54286, 54287, 54288);
		$kktc_turkcell = array(53383, 53384, 53385, 53386, 53387);
			if (in_array($opsorgu, $telekom)) {
				$operator = "Türk Telekom";
				}elseif(in_array($opsorgu, $turkcell)) {
					$operator = "Turkcell";
				}elseif(in_array($opsorgu, $vodafone)) {
					$operator = "Vodafone";
				}elseif(in_array($opsorgu, $kktc_telsim)) {
					$operator = "KKTC Telsim";
				}elseif(in_array($opsorgu, $kktc_turkcell)) {
					$operator = "KKTC Turkcell";
			}else{
				$operator = "Sabit Hat veya Yurtdışı";
				}
	}

echo $operator;

?>


umarım işinize yarar.


Yazı Hakkında Yorumlar