[Nghịch ngợm] Lấy link download 320kbps / lossless từ Mp3 Zing
PHP
74
hacking
17
trick
2
White

Phạm Quốc Thắng viết ngày 08/12/2015

Chuẩn bị

  • Một link bài hát / video từ mp3.zing.vn

Nghịch ngợm

Cũng vì dạo này mình hơi rảnh rỗi với có một chút phiền phức khi đang thưởng thức nhạc lossless / 320kbps ở Zing mà hết VIP, nên ngồi nghịch một chút xem có cách nào lấy được link download mà không cần VIP hay không :smile: và cuối cùng thì cũng đã thành công.

Nguồn gốc cách lấy link Mình tìm được cách lấy link này từ việc decompile app Zing Mp3 trên android mà ra. Cũng có thể có nhiều bạn cũng đã thực hiện việc này thành công rồi :smile: và cũng có thể là do các coder bên Zing có chút sơ xuất với API nên thành ra thế này...

Cách lấy link thì cũng đơn giản thôi. Đầu tiên ta lấy một link bài hát từ mp3.zing.vn
Ví dụ: http://mp3.zing.vn/bai-hat/Vo-Nguoi-Ta-Phan-Manh-Quynh/ZW7WBZBI.html
Bước 1: Ta tách lấy phần ID và lưu lại => ID: ZW7WBZBI
Bước 2:
Thay ID vào chỗ IDBAIHAT bên dưới và vào bằng browser

http://api.mp3.zing.vn/api/mobile/song/getsonginfo?requestdata={"id":"IDBAIHAT"}

Kết quả trả về từ browser là một chuỗi json, bạn có thể tách thủ công ra hoặc dùng cách nào đó để tách lấy link download rồi down về thôi :smile:

Viết Code

Ở đây mình hướng dẫn viết một đoạn code ngắn bằng PHP để lấy link download rồi show ra cho lẹ :smile:

Bước 1:
Tạo 1 file PHP và truyền link download thông qua phương thức get và tiện tách luôn cái ID bài hát

<?php
if(isset($_GET['url']))
{
    $arr = explode("/",$_GET['url']);
    $id = str_replace(".html","",$arr[count($arr)-1]);
}

Xong, như thế là đã tách xong cái chuỗi ID, tiếp theo là gửi request đến cái link API. Ở đây các bạn có thể dùng cURL cũng được. Nhưng mình dùng file_get_contents cho lẹ, đỡ rườm rà và code dài dòng :smile: rồi decode json thành array và lấy link download show ra HTML.
Fullcode:

<?php
if(isset($_GET['url']))
{
  $arr = explode("/",$_GET['url']);
  $id = str_replace(".html","",$arr[count($arr)-1]);
  $url = "http://api.mp3.zing.vn/api/mobile/song/getsonginfo?requestdata={\"id\":\"$id\"}";
  $json = json_decode(file_get_contents($url), true);
  ?>
  <a href="<?=$json['source'][320]?>">320 kbps</a> | <a href="<?=$json['source']['lossless']?>">Lossless</a>
  <?php
}

Các bạn có thể tùy biến theo ý mình, tức là có thể viết bằng javascript hay bất kì ngôn ngữ nào đó. Theo mình thì nên viết bằng javascript, sau đó add chuỗi javascript vào bookmark menu. Đến khi cần download chỉ cần nhấn bookmark là có thể download rồi :smile:
Cách gắn vào bookmark cũng khá đơn giản, bạn tạo mới 1 bookmark, phần location nhập

javascript:code java script ....

Vậy là xong, chúc các bạn vui vẻ và ngủ ngon :smile:

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Phạm Quốc Thắng

15 bài viết.
44 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
10 1
Bài viết này mình sẽ trình bày những thứ cơ bản về cú pháp với Swift. Bài viết sẽ gồm các phần Phần 1 Hằng và Biến Ghi chú Dấu chấm phẩy S...
Phạm Quốc Thắng viết 2 năm trước
10 1
White
7 1
Disclaimer: Mình đã thông báo bug này cho support tenlua.vn 2 lần, và họ đã fix bằng cách upgrade 1 bản api ver 2, tuy nhiên api ver 1 vẫn hoạt độn...
Phạm Quốc Thắng viết 2 năm trước
7 1
White
7 2
Vì tính chất công việc, nên đôi khi mình phải setup khá nhiều VPS để dùng. Đặc biệt là các VPS linux, tuy nhiên chỉ cần setup Apache + PHP + mysql ...
Phạm Quốc Thắng viết gần 2 năm trước
7 2
Bài viết liên quan
White
19 6
(Ảnh) vấn đề] Đã từng ai điên tiết hoặc xin chịu thua trước việc tìm kiếm một từ tiếng việt chính xác trên cả 1 đoạn văn bản của mysql chưa ? Nh...
Sói viết 9 tháng trước
19 6
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
15 bài viết.
44 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!