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用于获取更多用户信息,可从浏览器开发者工具中获取