karmendra / laravel-agent-detector
Laravel 对 matomo-org/device-detector 用户代理解析器的包装
Requires
- matomo/device-detector: ^4.3
Suggests
- illuminate/support: Required for laravel service providers
This package is not auto-updated.
Last update: 2024-09-27 04:35:07 UTC
README
基于 Device Detector 的 Laravel 桌面/移动用户代理解析器,它将解析任何用户代理并检测浏览器、操作系统、使用的设备(桌面、平板、移动、电视、汽车、控制台等)、品牌和型号。
访问 http://devicedetector.net 了解该库可以检测的内容的快速演示。
安装
使用 composer 安装
composer require karmendra/laravel-agent-detector
Laravel (可选)
在 config/app.php
中添加服务提供者
Karmendra\LaravelAgentDetector\AgentDetectorServiceProvider::class,
并将 AgentDetector 别名添加到 config/app.php
'AgentDetector' => Karmendra\LaravelAgentDetector\Facades\AgentDetector::class,
基本用法
首先创建一个 AgentDetector
实例(或使用 AgentDetector
Facade)
use Karmendra\LaravelAgentDetector\AgentDetector; $user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2'; $ad = new AgentDetector($user_agent);
如果您想在 CLI 脚本中动态设置不同的用户代理,可以使用 setUserAgent
$ad->setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2');
所有原始的 Device Detector 方法仍然可用
附加功能
设备类型
获取设备类型。(智能手机
、移动
、平板
、桌面
、机器人
...)
$type = $ad->device();
设备品牌名称
获取设备制造商的品牌名称,如果是移动设备。(Apple
、Nexus
、Samsung
、...)
$brand = $ad->deviceBrand();
设备型号
获取设备型号,如果是移动设备。 (Apple: iPhone
、Samsung: Galaxy S9
...)
$model = $ad->deviceModel();
平台/操作系统名称
获取操作系统。(Ubuntu
、Android
、Windows
、Mac
、iOS
、...)
$platform = $ad->platform();
平台版本(操作系统版本)。
获取平台版本。 (Windows: 10
、Mac: 10.11
、Android: 9.0
、...)
$platform_version = $ad->platformVersion();
浏览器名称
获取浏览器名称。(Chrome
、IE
、Safari
、UC Browser
、...)
$browser = $ad->browser();
浏览器版本
获取浏览器名称。 (Chrome: 56
、Safari: 9.0
、Firefox: 48
、...)
$browser_version = $ad->browserVersion();
机器人检测
检查用户是否为机器人。(true
或 false
)
$ad->isBot();
待办事项(欢迎提交 PR)
- 添加测试用例
- 添加获取机器人信息、启用禁用机器人检测等附加功能
许可
Laravel Agent Detector 采用 MIT 许可证 (MIT) 许可。