b站用户详细信息

获取B站用户详细信息

API接口稳定可用 · 支持高并发请求

API接口信息

接口地址

https://yutangxiaowu.cn:3008/api/bili

请求方法

GET

请求参数

参数名 类型 是否必填 说明
mid string 必填 用户UID
cookie string 必填 浏览器cookie

响应格式

JSON

响应参数

参数名 类型 说明
基础信息 (data)
mid number 用户UID
name string 用户昵称
sex string 性别 (男/女/保密)
face string 头像URL
sign string 个人签名
rank number 用户等级 (0-6)
level number 会员等级
统计信息 (data.stat)
following number 关注数
follower number 粉丝数
view number 总播放数
article number 专栏数
会员信息 (data.vip)
type number 会员类型 (0:无, 1:月费, 2:年费)
status number 会员状态 (0:过期, 1:正常)
due_date number 会员过期时间(时间戳)
label object 会员标签信息
认证信息 (data.official)
role number 认证角色 (0:无, 1:个人, 2:机构)
title string 认证头衔
desc string 认证描述
其他信息
is_followed boolean 是否已关注该用户
top_photo string 个人空间封面URL
theme object 个人空间主题信息

代码示例

JavaScript (Axios)
const axios = require('axios');

const mid = '用户UID';
const cookie = '浏览器cookie';

axios.get(`https://yutangxiaowu.cn:3008/api/bili?mid=${mid}&cookie=${encodeURIComponent(cookie)}`)
.then(response => {
    console.log('获取结果:', response.data);
})
.catch(error => {
    console.error('获取出错:', error.message);
});
JavaScript (Fetch)
const mid = '用户UID';
const cookie = '浏览器cookie';

fetch(`https://yutangxiaowu.cn:3008/api/bili?mid=${mid}&cookie=${encodeURIComponent(cookie)}`, {
    method: 'GET'
})
.then(response => response.json())
.then(data => {
    console.log('获取结果:', data);
})
.catch(error => {
    console.error('获取出错:', error);
});
HTML (JavaScript)
<!DOCTYPE html>
<html>
<body>
    <input type="text" id="midInput" placeholder="输入用户UID">
    <input type="text" id="cookieInput" placeholder="输入浏览器cookie">
    <button onclick="getUserInfo()">获取用户信息</button>

    <script>
    async function getUserInfo() {
        const mid = document.getElementById('midInput').value;
        const cookie = document.getElementById('cookieInput').value;
        
        if (!mid || !cookie) {
            alert('请输入UID和cookie');
            return;
        }

        try {
            const encodedCookie = encodeURIComponent(cookie);
            const response = await fetch(`https://yutangxiaowu.cn:3008/api/bili?mid=${mid}&cookie=${encodedCookie}`, {
                method: 'GET'
            });
            
            const result = await response.json();
            console.log('获取结果:', result);
            alert('获取成功: ' + JSON.stringify(result));
        } catch (error) {
            console.error('获取失败:', error);
            alert('获取失败: ' + error.message);
        }
    }
    </script>
</body>
</html>
Node.js (Fetch)
const fetch = require('node-fetch');

const mid = '用户UID';
const cookie = '浏览器cookie';

const encodedCookie = encodeURIComponent(cookie);

fetch(`https://yutangxiaowu.cn:3008/api/bili?mid=${mid}&cookie=${encodedCookie}`, {
    method: 'GET'
})
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.error(err));
Python
import requests
import urllib.parse

url = 'https://yutangxiaowu.cn:3008/api/bili'
params = {
    'mid': '用户UID',
    'cookie': '浏览器cookie'
}

response = requests.get(url, params=params)
print('获取结果:', response.json())
PHP
 '用户UID',
    'cookie' => '浏览器cookie'
];
$url = $apiUrl . '?' . http_build_query($params);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPGET, true); // GET请求
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);
$data = json_decode($response, true);

print_r($data);

curl_close($curl);
?>
Java
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;

public class BiliUserInfo {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        ObjectMapper objectMapper = new ObjectMapper();
        
        String mid = "用户UID";
        String cookie = "浏览器cookie";
        String encodedCookie = URLEncoder.encode(cookie, StandardCharsets.UTF_8.name());
        String url = "https://yutangxiaowu.cn:3008/api/bili?mid=" + mid + "&cookie=" + encodedCookie;
        
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create(url))
            .GET() // GET方法
            .build();
        
        client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
            .thenApply(HttpResponse::body)
            .thenAccept(responseBody -> {
                try {
                    JsonNode jsonNode = objectMapper.readTree(responseBody);
                    System.out.println(jsonNode.toPrettyString());
                } catch (Exception e) {
                    e.printStackTrace();
                }
            })
            .join();
    }
}
C#
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Web;

class Program
{
    static async Task Main()
    {
        var client = new HttpClient();
        string mid = "用户UID";
        string cookie = "浏览器cookie";
        string encodedCookie = HttpUtility.UrlEncode(cookie);
        string url = $"https://yutangxiaowu.cn:3008/api/bili?mid={mid}&cookie={encodedCookie}";     
        var response = await client.GetAsync(url); // GET请求
        var result = await response.Content.ReadAsStringAsync();
        
        Console.WriteLine(result);
    }
}
Ruby
require 'net/http'
require 'json'
require 'uri'
require 'cgi'

mid = '用户UID'
cookie = '浏览器cookie'
encoded_cookie = CGI.escape(cookie)

url = URI.parse("https://yutangxiaowu.cn:3008/api/bili?mid=#{mid}&cookie=#{encoded_cookie}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url) # GET请求

response = http.request(request)
puts response.body
Go
package main

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

func main() {
    mid := "用户UID"
    cookie := "浏览器cookie"
    
    params := url.Values{}
    params.Add("mid", mid)
    params.Add("cookie", cookie)
    
    baseUrl := "https://yutangxiaowu.cn:3008/api/bili"
    fullUrl := fmt.Sprintf("%s?%s", baseUrl, params.Encode())
    
    resp, err := http.Get(fullUrl) // GET请求
    if err != nil {
        fmt.Println("请求错误:", err)
        return
    }
    defer resp.Body.Close()
    
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println("读取响应错误:", err)
        return
    }
    
    fmt.Println(string(body))
}
Swift
import Foundation

let mid = "用户UID"
let cookie = "浏览器cookie"
guard let encodedCookie = cookie.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {
    print("Cookie编码失败")
    exit(1)
}

let urlString = "https://yutangxiaowu.cn:3008/api/bili?mid=\(mid)&cookie=\(encodedCookie)"
guard let url = URL(string: urlString) else {
    print("URL无效")
    exit(1)
}
let task = URLSession.shared.dataTask(with: url) { data, response, error in
    if let error = error {
        print("请求错误: \(error)")
        return
    }
    guard let data = data else {
        print("无响应数据")
        return
    }
    if let jsonString = String(data: data, encoding: .utf8) {
        print("获取结果: \(jsonString)")
    }
}
task.resume()

// 等待异步请求完成(仅示例用,实际开发需用更合理的异步处理)
RunLoop.main.run(until: Date().addingTimeInterval(10))
Kotlin
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

fun main() {
    val mid = "用户UID"
    val cookie = "浏览器cookie"
    val encodedCookie = URLEncoder.encode(cookie, StandardCharsets.UTF_8.name())
    val url = "https://yutangxiaowu.cn:3008/api/bili?mid=$mid&cookie=$encodedCookie"   
    val client = HttpClient.newHttpClient()
    val request = HttpRequest.newBuilder()
        .uri(URI.create(url))
        .GET() // GET方法
        .build()
    
    client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
        .thenApply(HttpResponse::body)
        .thenAccept { println(it) }
        .join()
}

在线测试工具

提示:Cookie用于获取更多用户信息,可从浏览器开发者工具中获取