0712-2888027 189-8648-0214
微信公眾號(hào)

孝感風(fēng)信網(wǎng)絡(luò)科技有限公司微信公眾號(hào)

當(dāng)前位置:主頁 > 技術(shù)支持 > PHP > 使用laravel agent輕松識(shí)別客戶端信息以及設(shè)備信息

使用laravel agent輕松識(shí)別客戶端信息以及設(shè)備信息

時(shí)間:2019-10-19來源:風(fēng)信官網(wǎng) 點(diǎn)擊: 2882次
有很多時(shí)候我們需要在laravel中識(shí)別系統(tǒng)是安卓還是ios,有時(shí)候我們也需要判斷是什么瀏覽器,以及判斷手機(jī)或者電腦訪問網(wǎng)站,安全中我們需要判斷l(xiāng)aravel網(wǎng)站是否是機(jī)器人訪問。
安裝
 
使用composer安裝:
 
composer require jenssegers/agent
 
Laravel在config中配置
 
在config/app.php中添加服務(wù)提供者:
 
Jenssegers\Agent\AgentServiceProvider::class,
 
同樣在config/app.php中注冊(cè)門面到aliases數(shù)組:
 
'Agent' => Jenssegers\Agent\Facades\Agent::class,
 
基本使用
 
首先創(chuàng)建一個(gè)Agent實(shí)例(如果您使用的是Laravel,則使用Facade門面Agent):
 
use Jenssegers\Agent\Agent;
$agent = new Agent();
 
# 或者使用如下方法
use Agent;
 
如果您想要在CLI腳本中解析除當(dāng)前請(qǐng)求以外的用戶代理,則可以使用setUserAgent和setHttpHeaders方法:
 
$agent->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');
$agent->setHttpHeaders($headers);
 
所有Mobile Detect原有的方法仍然可以使用,請(qǐng)查看https://github.com/serbanghita/Mobile-Detect/wiki/Code-examples上的一些原始示例
 
判斷當(dāng)前客戶端
 
1、判斷操作系統(tǒng)
 
Agent::is('Windows');
Agent::is('Firefox');
Agent::is('iPhone');
Agent::is('OS X');
 
2、與上面的is一樣
 
與is()一樣,判斷操作系統(tǒng):
 
Agent::isAndroidOS();
Agent::isNexus();
Agent::isSafari();
 
3、移動(dòng)檢測(cè)
 
檢測(cè)移動(dòng)設(shè)備:
 
Agent::isMobile();
Agent::isTablet();
 
4、匹配user agent
 
用正則表達(dá)式搜索用戶代理:
 
Agent::match('regexp');
 
附加功能
 
1、獲取語言
 
獲取瀏覽器語言。例:
 
$languages = Agent::languages();
// ['nl-nl', 'nl', 'en-us', 'en']
 
2、設(shè)備名稱
 
獲取設(shè)備名稱,比如手機(jī)。(iPhone, Nexus, AsusTablet, ...)
 
$device = Agent::device();
 
3、操作系統(tǒng)名稱
 
獲取操作系統(tǒng)。(Ubuntu,Windows,OS X,...)
 
$platform = Agent::platform();
 
4、瀏覽器名稱
 
獲取瀏覽器名稱。(Chrome,IE,Safari,Firefox,...)
 
$browser = Agent::browser();
 
5、桌面檢測(cè)
 
檢查用戶是否使用桌面設(shè)備。
 
$agent = Agent::isDesktop();
 
這將檢查用戶是否不是移動(dòng)設(shè)備,平板電腦或機(jī)器人。
 
6、電話檢測(cè)
 
檢查用戶是否為電話設(shè)備。
 
Agent::isPhone();
 
7、機(jī)器人檢測(cè)
 
檢查用戶是否是機(jī)器人。這使用jaybizzle / crawler-detect來執(zhí)行機(jī)器人檢測(cè)。
 
Agent::isRobot();
 
8、機(jī)器人名稱
 
獲取機(jī)器人名稱。
 
Agent::robot();
 
9、獲取瀏覽器/系統(tǒng)版本
 
MobileDetect最近添加了一個(gè)version可以獲取瀏覽器/系統(tǒng)版本。要獲取瀏覽器或平臺(tái)版本,您可以使用:
 
$browser = $agent->browser();
$version = $agent->version($browser);
 
$platform = $agent->platform();
$version = $agent->version($platform);
 
請(qǐng)注意,版本方法仍處于測(cè)試階段,所以它可能不會(huì)返回正確的結(jié)果。
熱門關(guān)鍵詞: laravel agent 客戶端信息 設(shè)備信息
欄目列表
推薦內(nèi)容
熱點(diǎn)內(nèi)容
展開