Hướng dẫn rút gọn link hàng loạt bằng API

Hướng dẫn rút gọn link hàng loạt bằng API


Hôm nay có thằng bạn hỏi cách để đổi link download (hàng loạt, tự động) sang short link của OUO.io, tiện thể mình viết một bài hướng dẫn các bạn luôn. Đối với dân coder thì nó quá đơn giản rồi, bài này dành cho các bạn không rành về PHP như mình nha.

Để có thể đổi link hàng loạt một cách tự động yêu cầu link đó phải là một biến, nghĩa là nó nằm trong một trường (field) dữ liệu của database. Trước đây mình hay để link download trong custom fields của WordPress hoặc dùng plugin để quản lý như WP-DownloadManager, Download Monitor, chứ không dán link trực tiếp vào nội dung của bài viết.

Giả sử bảng chứa link download trong database như sau:

  1. https://drive.google.com/open?id=0B8s4PgDrS14QX0NNQVlmTWZzYzQ lemonServer-1.5.0-RC1.zip
  2. https://drive.google.com/open?id=0B8s4PgDrS14QY3JTQVozYVpOcTg   Windows 10 wallpapers.rar


Rút gọn link

1. OUO.io

Bạn sử dụng đoạn code sau để đổi link download sang link của OUO.io, trong đó:
  • eGjzNqxv: API token id của bạn, lấy tại trang Tools – Quick Link.
  • $download_id: biến lấy download link từ database.
  • $ouo_link: biến xuất ra link OUO.io.

<?php
    ### Ouo.io Links ###
    $curl_url = 'http://ouo.io/api/eGjzNqxv?s='.$download_id;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $curl_url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $ouo_link = curl_exec($ch);
    curl_close($ch);
?>

2. Shorte.st

Dữ liệu của Shorte.st ở dạng mảng nên hơi khác một chút so với OUO.io:
  • c885cc35e310b13b8c5398561430a5be: API token id của bạn, lấy tại trang Tools – Quick link.
  • $download_id: biến lấy download link từ database.
  • $shortest: biến xuất ra link sh.st.
<?php    ### Shorte.st Links ###    $curl_url = 'https://api.shorte.st/s/c885cc35e310b13b8c5398561430a5be/'.$download_id;
    $ch = curl_init();    curl_setopt($ch, CURLOPT_URL, $curl_url);    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);    curl_close($ch);
    $array = json_decode($result);    $shortest = $array->shortenedUrl;?>

3. AdF.ly

Hoàn toàn tương tự như OUO.io:
  • 5404f86962cfd31d62112ff9e47f0d48: API token id của bạn, lấy tại trang Tools – API Documentation.
  • domain=adf.ly: domain của short link, có thể thay bằng domain=q.gs, hoặc domain của chính bạn (cách add domain riêng tại đây.)
  • $download_id: biến lấy download link từ database.
  • $adfly_link: biến xuất ra link AdF.ly.
<?php    ### AdF.ly Links ###    $curl_url = 'http://api.adf.ly/api.php?key=5404f86962cfd31d62112ff9e47f0d48&uid=1409722&advert_type=int&domain=adf.ly&url='.$download_id;
    $ch = curl_init();    curl_setopt($ch, CURLOPT_URL, $curl_url);    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $adfly_link = curl_exec($ch);    curl_close($ch);?>

Áp dụng cho WP-DownloadManager

Trước đây khi mình còn kiếm tiền bằng PTU mình chỉ sử dụng duy nhất WP-DownloadManager để quản lý link download, nên giờ áp dụng luôn cho nó nha.
Mở file wp-downloadmanager.php tìm ### Function: Download URL và thay thế bằng các đoạn code tương ứng bên dưới là xong nha. Nhớ thay API code của bạn nha không mình lại phải “cảm ơn” đó 😂.

1. OUO.io

### Function: Download URL
function download_file_url($file_id, $file_name) {
    $file_id = intval($file_id);
    $file_name = stripslashes($file_name);
    if(!is_remote_file($file_name)) {
        $file_name = substr($file_name, 1);
    }
    $download_options = get_option('download_options');
    $download_use_filename = intval($download_options['use_filename']);
    $download_nice_permalink = intval(get_option('download_nice_permalink'));
    if($download_nice_permalink == 1) {
        $curl_url = "http://ouo.io/api/eGjzNqxv?s=$file_name";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $curl_url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $ouoio = curl_exec($ch);
        curl_close($ch);
        if($download_use_filename == 1) {
            $download_file_url = $ouoio;
        } else {
            $download_file_url = $ouoio;
        }
    } else {
        if($download_use_filename == 1) {
            $download_file_url =  $ouoio;
        } else {
            $download_file_url =  $ouoio;
        }
    }
    return $download_file_url;
}

2. Shorte.st

### Function: Download URL
function download_file_url($file_id, $file_name) {
    $file_id = intval($file_id);
    $file_name = stripslashes($file_name);
    if(!is_remote_file($file_name)) {
        $file_name = substr($file_name, 1);
    }
    $download_options = get_option('download_options');
    $download_use_filename = intval($download_options['use_filename']);
    $download_nice_permalink = intval(get_option('download_nice_permalink'));
    if($download_nice_permalink == 1) {
        $curl_url = "https://api.shorte.st/s/c885cc35e310b13b8c5398561430a5be/$file_name";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $curl_url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $result = curl_exec($ch);
        curl_close($ch);
        $array = json_decode($result); //shorte.st
        $shortest = $array->shortenedUrl; //shorte.st
        if($download_use_filename == 1) {
            $download_file_url = $shortest;
        } else {
            $download_file_url = $shortest;
        }
    } else {
        if($download_use_filename == 1) {
            $download_file_url =  $shortest;
        } else {
            $download_file_url =  $shortest;
        }
    }
    return $download_file_url;
}

3. AdF.ly

### Function: Download URL
function download_file_url($file_id, $file_name) {
    $file_id = intval($file_id);
    $file_name = stripslashes($file_name);
    if(!is_remote_file($file_name)) {
        $file_name = substr($file_name, 1);
    }
    $download_options = get_option('download_options');
    $download_use_filename = intval($download_options['use_filename']);
    $download_nice_permalink = intval(get_option('download_nice_permalink'));
    if($download_nice_permalink == 1) {
        $curl_url = "http://api.adf.ly/api.php?key=5404f86962cfd31d62112ff9e47f0d48&uid=1409722&advert_type=int&domain=q.gs&url=$file_name";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $curl_url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $adfly = curl_exec($ch);
        curl_close($ch);
        if($download_use_filename == 1) {
            $download_file_url = $adfly;
        } else {
            $download_file_url = $adfly;
        }
    } else {
        if($download_use_filename == 1) {
            $download_file_url =  $adfly;
        } else {
            $download_file_url =  $adfly;
        }
    }
    return $download_file_url;
}

Lời kết

Trên đây chỉ là một hướng dẫn nhanh, cụ thể còn tùy vào việc bạn quản lý link như thế nào, bằng custome fields hay plugins. Nếu cần trợ giúp hãy để lại bình luận bên dưới cùng với vấn đề của bạn, càng chi tiết càng tốt nhé.
 Nguồn internet
Share on Google Plus

About NHOCLAK DJ

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 nhận xét:

Đăng nhận xét