Cách lấy URL gốc từ URL Short trong PHP

Short URLS là những đường dẫn được rút ngắn lại cho dễ nhìn và gọn hơn như : http://adf.ly/17a3s hoặc http://goo.gl/JiBEXx …. Tuy nhiên, nếu như các bạn không muốn click vào những đường link  này vì không biết URL thực sự của nó là gì, thì có thể dùng đoạn code mà mình chia sẻ trong bài viết này để có thể lấy được link thực sự của nó.

get url, url short

Rất đơn giản, các bạn chỉ cần copy function sau :

<?php

function ger_origenal_url($url)

{

    $ch = curl_init($url);

    curl_setopt($ch,CURLOPT_HEADER,true); // Get header information

    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,false);

    $header = curl_exec($ch);

     

    $fields = explode("\r\n", preg_replace('/\x0D\x0A[\x09\x20]+/', ' ', $header)); // Parse information

         

    for($i=0;$i<count($fields);$i++)

    {

        if(strpos($fields[$i],'Location') !== false)

        {

            $url = str_replace("Location: ","",$fields[$i]);

        }

    }

    return $url;

}

?>

Trong đoạn code bên trên cURL sẽ chỉ trích xuất thông tin header giúp chúng ta lấy chính xác đường dẫn gốc của nó và chúng ta sẽ phân tích và hiển thị đường dẫn này. Và bây giờ, để chuyển đối, các bạn sử dụng như sau :

<?php

$url            = "http://goo.gl/fb/37xzk"; // your short url

$original_url   = ger_origenal_url($url); // Calling function with short url

  

echo "Short URL: {$url}<br/>"; // shoty URL

echo "Original URL: {$original_url}"; // Original URL

?>

Vậy là từ giờ chúng ta đã có thể kiểm tra xem link gốc thực sự của một short url là gì, và mình hy vọng là qua bài viết này, các bạn sẽ có thêm một kinh nghiệm trong việc lập trình bằng ngôn ngữ PHP.

 

 HỖ TRỢ TRỰC TUYẾN