QQ音乐解析

解析QQ音乐音乐链接,获取音乐信息及下载地址,支持普通音乐和VIP音乐

API接口稳定可用 · 支持高并发请求
总调用次数: 加载中...

API接口信息

接口地址

https://yutangxiaowu.cn:3015/api/parseqmusic

请求方法

GET

请求参数

参数名 类型 是否必填 说明
url string 可选 QQ音乐链接(与songmid二选一)
songmid string 可选 歌曲mid(与url二选一)

响应格式

JSON

响应参数

参数名 类型 说明
detail.songName string 歌曲名称
detail.singerName string 歌手名称
detail.album string 专辑名称
detail.duration string 歌曲时长
songmid string 歌曲mid
url string 播放地址
lyric string 歌词

代码示例

JavaScript (Axios)
const axios = require('axios');
const url = 'https://yutangxiaowu.cn:3015/api/parseqmusic';

axios.get(url, {
    params: {
        url: 'https://c6.y.qq.com/base/fcgi-bin/u?__=O3Ts6KdWJVSt'
    }
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.error('请求失败:', error.message);
});
JavaScript (Fetch)
const apiUrl = 'https://yutangxiaowu.cn:3015/api/parseqmusic';
const qqmusicUrl = 'https://c6.y.qq.com/base/fcgi-bin/u?__=O3Ts6KdWJVSt';

fetch(`${apiUrl}?url=${encodeURIComponent(qqmusicUrl)}`)
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('请求失败:', error));
Python
import requests

api_url = 'https://yutangxiaowu.cn:3015/api/parseqmusic'
params = {
    'url': 'https://c6.y.qq.com/base/fcgi-bin/u?__=O3Ts6KdWJVSt'
}

response = requests.get(api_url, params=params)
print(response.json())
PHP
$apiUrl = 'https://yutangxiaowu.cn:3015/api/parseqmusic';
$qqmusicUrl = 'https://c6.y.qq.com/base/fcgi-bin/u?__=O3Ts6KdWJVSt';

$url = $apiUrl . '?url=' . urlencode($qqmusicUrl);
$response = file_get_contents($url);
$data = json_decode($response, true);

print_r($data);
Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;

public class DouyinApi {
    public static void main(String[] args) throws Exception {
        String apiUrl = "https://yutangxiaowu.cn:3015/api/parseqmusic";
        String qqmusicUrl = "https://c6.y.qq.com/base/fcgi-bin/u?__=O3Ts6KdWJVSt";
        
        String encodedUrl = URLEncoder.encode(qqmusicUrl, StandardCharsets.UTF_8);
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create(apiUrl + "?url=" + encodedUrl))
            .build();
            
        client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
            .thenApply(HttpResponse::body)
            .thenAccept(System.out::println)
            .join();
    }
}
C#
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program {
    static async Task Main() {
        string apiUrl = "https://yutangxiaowu.cn:3015/api/parseqmusic";
        string qqmusicUrl = "https://c6.y.qq.com/base/fcgi-bin/u?__=O3Ts6KdWJVSt";
        
        using var client = new HttpClient();
        string encodedUrl = Uri.EscapeDataString(qqmusicUrl);
        string response = await client.GetStringAsync(
            $"{apiUrl}?url={encodedUrl}"
        );
        
        Console.WriteLine(response);
    }
}
Ruby
require 'net/http'
require 'uri'
require 'json'

api_url = 'https://yutangxiaowu.cn:3015/api/parseqmusic'
qqmusic_url = 'https://c6.y.qq.com/base/fcgi-bin/u?__=O3Ts6KdWJVSt'

uri = URI.parse(api_url)
params = { url: qqmusic_url }
uri.query = URI.encode_www_form(params)

response = Net::HTTP.get_response(uri)
data = JSON.parse(response.body)

puts data
Go
package main

import (
    "fmt"
    "net/http"
    "net/url"
    "io/ioutil"
)

func main() {
    apiUrl := "https://yutangxiaowu.cn:3015/api/parseqmusic"
    qqmusicUrl := "https://c6.y.qq.com/base/fcgi-bin/u?__=O3Ts6KdWJVSt"
    
    params := url.Values{}
    params.Add("url", qqmusicUrl)
    
    resp, err := http.Get(apiUrl + "?" + params.Encode())
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()
    
    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}
Swift
import Foundation

let apiUrl = "https://yutangxiaowu.cn:3015/api/parseqmusic"
let qqmusicUrl = "https://c6.y.qq.com/base/fcgi-bin/u?__=O3Ts6KdWJVSt"

if let encodedUrl = qqmusicUrl.addingPercentEncoding(
    withAllowedCharacters: .urlQueryAllowed
) {
    let urlString = "\(apiUrl)?url=\(encodedUrl)"
    if let url = URL(string: urlString) {
        let task = URLSession.shared.dataTask(with: url) {
            data, response, error in
            if let data = data {
                print(String(data: data, encoding: .utf8)!)
            }
        }
        task.resume()
    }
}
Kotlin
import java.net.URLEncoder
import java.net.URL

fun main() {
    val apiUrl = "https://yutangxiaowu.cn:3015/api/parseqmusic"
    val qqmusicUrl = "https://c6.y.qq.com/base/fcgi-bin/u?__=O3Ts6KdWJVSt"
    
    val encodedUrl = URLEncoder.encode(qqmusicUrl, "UTF-8")
    val url = URL("$apiUrl?url=$encodedUrl")
    
    val response = url.readText()
    println(response)
}

在线测试工具