Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

curl ile sayfanın bilgisi alma

$crl = curl_init();

curl_setopt($crl, CURLOPT_TIMEOUT, "30");
curl_setopt($crl, CURLOPT_URL, "$site");
curl_setopt($crl, CURLOPT_HEADER, 0);
curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1);

$icerik = addslashes(curl_exec($crl));


bu şekilde sayfanın kodlarını çekebiliyorum tamam bir sorun yok ama php sitesinde araştırdım bulamadım bi türlü benim istediklerim sitenin bulunduğu sunucunun ip adresi, sunucunun hangi ülkede olduğu, sunucunun işletim sistemi, sunucunun web işletimi(Apache vs.) bunlarıda çekmem lazım nasıl yapıcam??
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • altay adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    2 cevap - 0 soru
    Aşağıdaki kodları kullanabilirsiniz. Fakat sunucunun işletim sistemi ve http server hakkında detaylı bilgiler için biraz daha farklı ve detaylı işlemler lazım. Kendinize ait bir sunucunuz varsa bunları edinebilir veya netcraft sisteminden bilgileri alıp kullanabilirsiniz.

    $url = 'http://google.com';
    $wrapper = fopen('php://temp', 'r+');
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_VERBOSE, true);
    curl_setopt($ch, CURLOPT_STDERR, $wrapper);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
    $result = curl_exec($ch);
    curl_close($ch);
    $ips = get_curl_remote_ips($wrapper);
    fclose($wrapper);
    $son =  end($ips);  // 208.69.36.231
    
    function get_curl_remote_ips($fp) 
    {
        rewind($fp);
        $str = fread($fp, 8192);
        $regex = '/\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/';
        if (preg_match_all($regex, $str, $matches)) {
            return array_unique($matches[0]);  // Array([0] => 74.125.45.100 [2] => 208.69.36.231)
        } else {
            return false;
        }
    }
    function curl_ulke($url){
        curl_setopt($ch=curl_init(), CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $response = curl_exec($ch);
        curl_close($ch);
        return $response."-";
    }
    
    if (!empty($son)) {
       echo curl_ulke('http://api.hostip.info/country.php?ip='.$ip);
    }
    
    echo $son;
    
    • spywaredz adlı üyenin fotoğrafı spywaredz
      evet kendime ait sunucum var gerçi safe_mod ile ilgili sorunlar yaşayabiliyorum ama.. yani işletim sistemi ve http server hakkında detaylı bilgi istemiyorum örneğin işletim sistemi: linux http server: apache.. bu şekilde genel veriyi alsam yeter..
      10 yıl önce yazılmış
    • altay adlı üyenin fotoğrafı altay
      O zaman php üzerinde shell_Exec tarzındaki komutları kullanarak linux üzerinden curl cevaplarını alıp yapabilirsiniz. Örnek için http://www.g-loaded.eu/2006/10/06/check-server-http-headers-with-curl/ adresine bakabilirsiniz. Fakat bu komutu kullansanızda her sunucuda yanıt almanız garanti değil. Çünkü güvenlik sebebiyle bu tip sorgulamalara karşı sunucular ayarlanıyor ve sorgulara cevap vermiyorlar. İlk aşamada bunu kullanın eğer geri gelen cevap yoksa netcraft üzerinden çekmeyi deneyin. İlla bu bilgiler lazımsa ben olsam öyle yapardım...
      10 yıl önce yazılmış