TR Kodlama Forumlar Yönlendirmeli Sayfanın Yönlendirildiği Sayfayı Bulma

  • Bu konu boş.
0 yanıt dizini görüntüleniyor
  • Yazar
    Yazılar
    • #6757
      oralunal
      Ziyaretçi

      Merhaba arkadaşlar,

      Bugünkü makalemde sizlere PHP ile bağlanmaya çalıştığınız sayfada 301 veya 302 HTTP yönlendirmesi varsa bu sayfanın hangi sayfaya yönlendirdiğini bulmanızı sağlayacak bir fonksiyon veriyorum. Fonksiyonumuz aşağıdaki gibidir:

      function asil_url( $url,  $javascript_dongu = 0, $zaman_asimi = 5 ){
          $url = str_replace( “&”, “&”, urldecode(trim($url)));
          $cerez = tempnam (“/tmp”, “CURLCOOKIE”);
          $curl = curl_init();
          curl_setopt( $curl, CURLOPT_USERAGENT, “Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1” );
          curl_setopt( $curl, CURLOPT_URL, $url );
          curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
          curl_setopt( $curl, CURLOPT_MAXREDIRS, 10 );
          $content = curl_exec( $curl );
          $cevap = curl_getinfo( $curl );
          curl_close ( $curl );
          if ($cevap[‘http_code’] == 301 || $cevap[‘http_code’] == 302){
              ini_set(“user_agent”, “Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1”);
              if ($baslik = get_headers($cevap[‘url’])){
                  foreach($baslik as $deger){
                      if ( substr( strtolower($deger), 0, 9 ) == “location:” )
                          return get_url( trim( substr( $deger, 9, strlen($deger) ) ) );
                  }
              }
          }
          if (( preg_match(“/>[[:space:]]+window.location.replace(‘(.*)’)/i”, $content, $deger) || preg_match(“/>[[:space:]]+window.location=”(.*)”/i”, $content, $deger)) && $javascript_dongu < 5){
              return get_url( $deger[1], $javascript_dongu+);
          }
          else{
              return array( $content, $cevap );
          }
      }
       
      // fonksiyonun kullanımı
      echo asil_url(http://trkodlama.com&#8221;); // Ekran çıktısı http://www.trkodlama.com olacaktır.  
      Önceki makalemde HTTP durum kodunu en başarılı nasıl bulabileceğinizi anlatmıştım. O fonksiyon aracılığıyla önce HTTP durum kodunu kontrol edebilirsiniz eğer 301 veya 302 varsa şimdi paylaştığım fonksiyon aracılığıyla yönlendirme sonucu gidilen adresi bulabilirsiniz.

      Umarım faydalı olur, birinin işine de yarar.. Kolay gelsin arkadaşlar[code=php:cucchx9a]function asil_url( $url,  $javascript_dongu = 0, $zaman_asimi = 5 ){
          $url = str_replace( “&”, “&”, urldecode(trim($url)));
          $cerez = tempnam (“/tmp”, “CURLCOOKIE”);
          $curl = curl_init();
          curl_setopt( $curl, CURLOPT_USERAGENT, “Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1” );
          curl_setopt( $curl, CURLOPT_URL, $url );
          curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
          curl_setopt( $curl, CURLOPT_MAXREDIRS, 10 );
          $content = curl_exec( $curl );
          $cevap = curl_getinfo( $curl );
          curl_close ( $curl );
          if ($cevap[‘http_code’] == 301 || $cevap[‘http_code’] == 302){
              ini_set(“user_agent”, “Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1”);
              if ($baslik = get_headers($cevap[‘url’])){
                  foreach($baslik as $deger){
                      if ( substr( strtolower($deger), 0, 9 ) == “location:” )
                          return get_url( trim( substr( $deger, 9, strlen($deger) ) ) );
                  }
              }
          }
          if (( preg_match(“/>:space:+window.location.replace(‘(.*)’)/i”, $content, $deger) || preg_match(“/>:space:+window.location=”(.*)”/i”, $content, $deger)) && $javascript_dongu < 5){
              return get_url( $deger[1], $javascript_dongu+);
          }
          else{
              return array( $content, $cevap );
          }
      }
       
      // fonksiyonun kullanımı
      echo asil_url(http://trkodlama.com&#8221;); // Ekran çıktısı http://www.trkodlama.com olacaktır.  
      Önceki makalemde HTTP durum kodunu en başarılı nasıl bulabileceğinizi anlatmıştım. O fonksiyon aracılığıyla önce HTTP durum kodunu kontrol edebilirsiniz eğer 301 veya 302 varsa şimdi paylaştığım fonksiyon aracılığıyla yönlendirme sonucu gidilen adresi bulabilirsiniz.

      Umarım faydalı olur, birinin işine de yarar.. Kolay gelsin arkadaşlar

0 yanıt dizini görüntüleniyor
  • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.