karmendra/laravel-agent-detector

Laravel 对 matomo-org/device-detector 用户代理解析器的包装

v1.1 2021-10-28 14:39 UTC

This package is not auto-updated.

Last update: 2024-09-27 04:35:07 UTC


README

Latest Stable Version Total Downloads

基于 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();

设备品牌名称

获取设备制造商的品牌名称,如果是移动设备。(AppleNexusSamsung、...)

$brand = $ad->deviceBrand();

设备型号

获取设备型号,如果是移动设备。 (Apple: iPhone、Samsung: Galaxy S9 ...)

$model = $ad->deviceModel();

平台/操作系统名称

获取操作系统。(UbuntuAndroidWindowsMaciOS、...)

$platform = $ad->platform();

平台版本(操作系统版本)。

获取平台版本。 (Windows: 10、Mac: 10.11、Android: 9.0、...)

$platform_version = $ad->platformVersion();

浏览器名称

获取浏览器名称。(ChromeIESafariUC Browser、...)

$browser = $ad->browser();

浏览器版本

获取浏览器名称。 (Chrome: 56、Safari: 9.0、Firefox: 48、...)

$browser_version = $ad->browserVersion();

机器人检测

检查用户是否为机器人。(truefalse)

$ad->isBot();

待办事项(欢迎提交 PR)

  • 添加测试用例
  • 添加获取机器人信息、启用禁用机器人检测等附加功能

许可

Laravel Agent Detector 采用 MIT 许可证 (MIT) 许可。