有很多時候我們需要在laravel中識別系統(tǒng)是安卓還是ios,有時候我們也需要判斷是什么瀏覽器,以及判斷手機(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中注冊門面到aliases數(shù)組:
	'Agent' => Jenssegers\Agent\Facades\Agent::class,
	基本使用
	首先創(chuàng)建一個Agent實例(如果您使用的是Laravel,則使用Facade門面Agent):
	use Jenssegers\Agent\Agent;
	$agent = new Agent();
	# 或者使用如下方法
	use Agent;
	如果您想要在CLI腳本中解析除當(dā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原有的方法仍然可以使用,請查看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、移動檢測
	檢測移動設(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、桌面檢測
	檢查用戶是否使用桌面設(shè)備。
	$agent = Agent::isDesktop();
	這將檢查用戶是否不是移動設(shè)備,平板電腦或機(jī)器人。
	6、電話檢測
	檢查用戶是否為電話設(shè)備。
	Agent::isPhone();
	7、機(jī)器人檢測
	檢查用戶是否是機(jī)器人。這使用jaybizzle / crawler-detect來執(zhí)行機(jī)器人檢測。
	Agent::isRobot();
	8、機(jī)器人名稱
	獲取機(jī)器人名稱。
	Agent::robot();
	9、獲取瀏覽器/系統(tǒng)版本
	MobileDetect最近添加了一個version可以獲取瀏覽器/系統(tǒng)版本。要獲取瀏覽器或平臺版本,您可以使用:
	$browser = $agent->browser();
	$version = $agent->version($browser);
	$platform = $agent->platform();
	$version = $agent->version($platform);
	請注意,版本方法仍處于測試階段,所以它可能不會返回正確的結(jié)果。
                    


 鄂公網(wǎng)安備 42090202000212號
鄂公網(wǎng)安備 42090202000212號