Rebellious No-Post !
Favori Oyuncu : Metin Oktay Mesaj Sayısı : 14623 Puan : 258171 Rep : 2564 Yer : Ali Samiyen Cinsiyet : Kayıt tarihi : 19/08/09
| Konu: php Wordpress usulü ping servislerine ping yollamak Paz Ocak 10, 2010 1:56 am | |
| Kod Çizelgesi Kod Dili: php //Sonuc kodlari anlamlari : http://www set_time_limit(0); $url = "http://www.lacremel.net/"; $site = "lacremel"; $pingliste = "pingler.txt"; if (!function_exists('xmlrpc_encode_request')) { function xmlrpc_encode_request($yontem, $iki) { $cikti .= ''; $cikti .= ''; $cikti .= ''.$yontem.''; $cikti .= ''; $cikti .= ''.$iki[0].''; $cikti .= ''.$iki[1].''; $cikti .= ''; return $cikti; } } function pingle($pingurl,$site,$url,$yontem) { $xmlrpc = xmlrpc_encode_request($yontem,array($site, $url)); preg_match('@^(?:http://www[^/]+)@i', $pingurl, $cikti); $pinghost = $cikti[1]; $headers[] = "Host: ".$pinghost; $headers[] = "Content-type: text/xml"; $headers[] = "User-Agent: LPS"; $headers[] = "Content-length: ".strlen($xmlrpc) . "\r\n"; $headers[] = $xmlrpc; $chi = curl_init(); curl_setopt($chi,CURLOPT_URL,$pingurl); curl_setopt($chi,CURLOPT_RETURNTRANSFER,1); curl_setopt($chi, CURLOPT_CONNECTTIMEOUT, 4); curl_setopt($chi,CURLOPT_HTTPHEADER,$headers); curl_setopt($chi,CURLOPT_CUSTOMREQUEST,'POST'); $html = curl_exec( $chi ); $sonuc = curl_getinfo($chi); echo "Gönderildi : ".$pinghost.", Sonuc : ".$sonuc["http_code"]." "; curl_close($chi); unset($headers); } $oku = file($pingliste); $len = count($oku); for ($i = 0; $i < $len; $i++) { $pingurl = trim($oku[$i]); pingle($pingurl,$site,$url,"weblogUpdates.ping"); pingle($pingurl,$site,$url,"weblogUpdates.extendedPing"); } ?> pingler.txt dosyasina alt alta ping servislerini sıralıyorsunuz. Worpessdeki gibi 1 ping adresine 2 defa ping gönderiyor. 1 weblogUpdates.ping methodu ile birde weblogUpdates.extendedPing methodu ile. Ping yolladıktan sonra sonuc kod olarak cikmaktadir 0,200,404,500 gibi Sonuc kodlari anlamlari: HTTP durum kodları - http://wwwYardım 400 ve 500 ler bulunmayan sayfalar ve ulaşılamayan sunucuların kodlaridir bu kodu aldiginiz servisi pingler.txt den silersiniz Çalışması için sunucuda curl kütüphanesi yüklü olmalıdır. Önemli NOT: Sürekli çalıştırmayın, yeni içerik eklemeden kesinlikle calıştırmayın. Servisler geldiginde yeni içerik bulamayınca daha sonraki pingleri dikkate almayacaktır. örnek pingler.txt | |
|