Cách lấy URL gốc từ short URLs bằng PHP

23/05/2014

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ó.

How-to-Expand-Short-URLs-To-Original-URL-Using-PHP-and-cURL

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.

Chuyên Mục:

Bài viết được đăng bởi webmaster

Nếu các bạn thấy bài viết hữu ích thì giúp mình Like cái nhé !