Phân tích User Agent API
Phân tích chuỗi User-Agent thành trình duyệt, engine, hệ điều hành, loại thiết bị, hãng, model và nhận diện bot. Không truyền UA thì phân tích UA của bạn.
API User Agent biến header User-Agent thô thành dữ liệu có cấu trúc: tên trình duyệt, phiên bản và phiên bản chính, engine hiển thị, hệ điều hành và phiên bản, loại thiết bị, hãng sản xuất, model và kiến trúc CPU nếu có. Các giá trị true/false đơn giản – is_mobile, is_tablet, is_desktop, is_bot – giúp bạn rẽ nhánh xử lý dễ dàng.
Truyền chuỗi qua ua (hoặc user_agent) bằng query hay JSON. Nếu bỏ trống, API phân tích chính User-Agent của request, tiện để kiểm tra nhanh "trình duyệt của tôi là gì" từ trình duyệt hoặc script.
Phần nhận diện bot khớp các crawler, công cụ tạo link preview và thư viện HTTP phổ biến (Googlebot, Bingbot, facebookexternalhit, preview của Slack, Discord, Telegram, WhatsApp, curl, wget, python-requests, axios, trình duyệt headless, Lighthouse, dịch vụ giám sát uptime). Việc phân tích dựa trên thư viện mã nguồn mở ua-parser-js.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
ua | body|query | string | không | Chuỗi User-Agent cần phân tích (tên khác user_agent). Mặc định: User-Agent của chính request. |
Ví dụ
curl "https://apibox.io.vn/v1/user-agent?ua=Mozilla%2F5.0%20(iPhone%3B%20CPU%20iPhone%20OS%2017_5%20like%20Mac%20OS%20X)%20AppleWebKit%2F605.1.15%20(KHTML%2C%20like%20Gecko)%20Version%2F17.5%20Mobile%2F15E148%20Safari%2F604.1" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/user-agent?ua=Mozilla%2F5.0%20(iPhone%3B%20CPU%20iPhone%20OS%2017_5%20like%20Mac%20OS%20X)%20AppleWebKit%2F605.1.15%20(KHTML%2C%20like%20Gecko)%20Version%2F17.5%20Mobile%2F15E148%20Safari%2F604.1', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/user-agent?ua=Mozilla%2F5.0%20(iPhone%3B%20CPU%20iPhone%20OS%2017_5%20like%20Mac%20OS%20X)%20AppleWebKit%2F605.1.15%20(KHTML%2C%20like%20Gecko)%20Version%2F17.5%20Mobile%2F15E148%20Safari%2F604.1",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/user-agent?ua=Mozilla%2F5.0%20(iPhone%3B%20CPU%20iPhone%20OS%2017_5%20like%20Mac%20OS%20X)%20AppleWebKit%2F605.1.15%20(KHTML%2C%20like%20Gecko)%20Version%2F17.5%20Mobile%2F15E148%20Safari%2F604.1');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1",
"browser": {
"name": "Mobile Safari",
"version": "17.5",
"major": "17"
},
"engine": {
"name": "WebKit",
"version": "605.1.15"
},
"os": {
"name": "iOS",
"version": "17.5"
},
"device": {
"type": "mobile",
"vendor": "Apple",
"model": "iPhone"
},
"cpu": null,
"is_bot": false,
"is_mobile": true,
"is_tablet": false,
"is_desktop": false
}
Ứng dụng
- Bổ sung thông tin trình duyệt, hệ điều hành, thiết bị cho sự kiện analytics
- Lọc bot và crawler link preview khỏi thống kê lượt truy cập
- Debug lỗi khách hàng dựa trên User-Agent trong log hỗ trợ
- Hiển thị nội dung hoặc link tải phù hợp từng thiết bị
Hỏi đáp
Làm sao biết khách truy cập là bot?
Gửi User-Agent của họ qua ua và xem is_bot. Việc nhận diện dựa trên mẫu (crawler, công cụ preview, thư viện HTTP, trình duyệt headless); bot giả mạo UA trình duyệt thường sẽ không bị phát hiện.
Có phân tích User-Agent của chính request không?
Có, gọi /v1/user-agent không kèm tham số, API sẽ phân tích header User-Agent mà nó nhận được.
Vì sao loại thiết bị là "desktop" mà hãng và model đều null?
Trình duyệt máy tính không khai báo model thiết bị, nên API mặc định là desktop khi UA không phải bot và không chứa chữ "Mobile".
API liên quan
Tạo UUID
Sinh tối đa 1.000 UUID v4, UUID v7 theo thời gian, ULID, Nano ID hoặc mã hex ngẫu nhiên mỗi request. Ngẫu nhiên an toàn, hỗ trợ chữ in hoa.
⏱Phân tích biểu thức cron
Kiểm tra biểu thức cron và xem các lần chạy tiếp theo theo múi giờ bất kỳ, kèm mô tả dễ hiểu. Hỗ trợ cú pháp cron 5, 6 và 7 trường.
🕒Giờ & múi giờ
Lấy giờ hiện tại ở mọi múi giờ, đổi giữa các múi giờ và Unix timestamp (giây hoặc mili giây), kèm độ lệch UTC và thứ trong tuần cho tối đa 30 múi giờ.