{"id":814,"date":"2025-06-12T00:18:35","date_gmt":"2025-06-11T16:18:35","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/814.html"},"modified":"2025-06-12T00:18:35","modified_gmt":"2025-06-11T16:18:35","slug":"%e5%a6%82%e4%bd%95%e5%9c%a8laravel%e4%b8%ad%e8%8e%b7%e5%8f%96user-agent%e5%a4%b4","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/814.html","title":{"rendered":"\u5982\u4f55\u5728Laravel\u4e2d\u83b7\u53d6User-Agent\u5934"},"content":{"rendered":"<div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--1\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/dyA-1-400x300.jpg\" alt=\"Bug&#32534;&#35793;&#29422;\" class=\"wp-image-1842\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">Bug&#32534;&#35793;&#29422;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#22312; Laravel &#20013;&#65292;&#20320;&#21487;&#20197;&#36890;&#36807;&#22810;&#31181;&#26041;&#24335;&#33719;&#21462;&#23458;&#25143;&#31471;&#30340; <code>User-Agent<\/code> &#22836;&#12290;&#20197;&#19979;&#26159;&#20960;&#31181;&#24120;&#35265;&#30340;&#26041;&#27861;&#65306;<\/p>\n<h3>&#26041;&#27861;&#19968;&#65306;&#20351;&#29992; <code>Request<\/code> &#23545;&#35937;<\/h3>\n<ol>\n<li>\n<p><strong>&#21019;&#24314;&#25511;&#21046;&#22120;<\/strong>&#65306;<\/p>\n<pre><code class=\"language-php\">use IlluminateHttpRequest;\n\nnamespace AppHttpControllers;\n\nclass UserController extends Controller\n{\n   public function index(Request $request)\n   {\n       \/\/ &#33719;&#21462; User-Agent &#22836;\n       $userAgent = $request-&gt;header('User-Agent');\n\n       return response()-&gt;json(['user_agent' =&gt; $userAgent]);\n   }\n}<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#36335;&#30001;&#37197;&#32622;<\/strong>&#65306;<\/p>\n<pre><code class=\"language-php\">Route::get('\/user-agent', 'UserController@index');<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#35775;&#38382; URL<\/strong>&#65306;\n&#25171;&#24320;&#27983;&#35272;&#22120;&#24182;&#35775;&#38382; <code>\/user-agent<\/code>&#65292;&#20320;&#20250;&#30475;&#21040;&#31867;&#20284;&#20197;&#19979;&#30340; JSON &#21709;&#24212;&#65306;<\/p>\n<pre><code class=\"language-json\">{\n   \"user_agent\": \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/58.0.3029.110 Safari\/537.3\"\n}<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3>&#26041;&#27861;&#20108;&#65306;&#20351;&#29992; <code>HttpKernel<\/code> &#21644; <code>Request<\/code> &#31867;<\/h3>\n<p>&#22914;&#26524;&#20320;&#38656;&#35201;&#26356;&#24213;&#23618;&#30340;&#25805;&#20316;&#65292;&#21487;&#20197;&#20351;&#29992; <code>HttpKernel<\/code> &#21644; <code>Request<\/code> &#31867;&#12290;<\/p>\n<ol>\n<li>\n<p><strong>&#21019;&#24314;&#25511;&#21046;&#22120;<\/strong>&#65306;<\/p>\n<pre><code class=\"language-php\">use IlluminateHttpRequest;\nuse IlluminateSupportFacadesHttpKernel;\n\nnamespace AppHttpControllers;\n\nclass UserController extends Controller\n{\n   public function index()\n   {\n       \/\/ &#33719;&#21462;&#35831;&#27714;&#23545;&#35937;\n       $request = HttpKernel::make();\n\n       \/\/ &#33719;&#21462; User-Agent &#22836;\n       $userAgent = $request-&gt;headers-&gt;get('User-Agent');\n\n       return response()-&gt;json(['user_agent' =&gt; $userAgent]);\n   }\n}<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#36335;&#30001;&#37197;&#32622;<\/strong>&#65306;<\/p>\n<pre><code class=\"language-php\">Route::get('\/user-agent', 'UserController@index');<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#35775;&#38382; URL<\/strong>&#65306;\n&#25171;&#24320;&#27983;&#35272;&#22120;&#24182;&#35775;&#38382; <code>\/user-agent<\/code>&#65292;&#20320;&#20250;&#30475;&#21040;&#31867;&#20284;&#20197;&#19979;&#30340; JSON &#21709;&#24212;&#65306;<\/p>\n<pre><code class=\"language-json\">{\n   \"user_agent\": \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/58.0.3029.110 Safari\/537.3\"\n}<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3>&#26041;&#27861;&#19977;&#65306;&#20351;&#29992; <code>IlluminateHttpConcernsWithRequest<\/code><\/h3>\n<p>&#22914;&#26524;&#20320;&#22312;&#19968;&#20010;&#25511;&#21046;&#22120;&#30340;&#26041;&#27861;&#20013;&#20351;&#29992;&#20102; <code>withRequest<\/code> &#20851;&#38190;&#23383;&#65292;&#21487;&#20197;&#30452;&#25509;&#35775;&#38382; <code>$request<\/code> &#23545;&#35937;&#12290;<\/p>\n<ol>\n<li>\n<p><strong>&#21019;&#24314;&#25511;&#21046;&#22120;<\/strong>&#65306;<\/p>\n<pre><code class=\"language-php\">use IlluminateHttpRequest;\n\nnamespace AppHttpControllers;\n\nclass UserController extends Controller\n{\n   public function index(Request $request)\n   {\n       \/\/ &#33719;&#21462; User-Agent &#22836;\n       $userAgent = $request-&gt;header('User-Agent');\n\n       return response()-&gt;json(['user_agent' =&gt; $userAgent]);\n   }\n}<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#36335;&#30001;&#37197;&#32622;<\/strong>&#65306;<\/p>\n<pre><code class=\"language-php\">Route::get('\/user-agent', 'UserController@index');<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#35775;&#38382; URL<\/strong>&#65306;\n&#25171;&#24320;&#27983;&#35272;&#22120;&#24182;&#35775;&#38382; <code>\/user-agent<\/code>&#65292;&#20320;&#20250;&#30475;&#21040;&#31867;&#20284;&#20197;&#19979;&#30340; JSON &#21709;&#24212;&#65306;<\/p>\n<pre><code class=\"language-json\">{\n   \"user_agent\": \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/58.0.3029.110 Safari\/537.3\"\n}<\/code><\/pre>\n<\/li>\n<\/ol>\n<p>&#36890;&#36807;&#20197;&#19978;&#26041;&#27861;&#65292;&#20320;&#21487;&#20197;&#22312; Laravel &#20013;&#36731;&#26494;&#22320;&#33719;&#21462;&#23458;&#25143;&#31471;&#30340; <code>User-Agent<\/code> &#22836;&#65292;&#24182;&#26681;&#25454;&#38656;&#35201;&#36827;&#34892;&#22788;&#29702;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--2\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/zp-400x300.jpg\" alt=\"&#40657;&#26495;Bug&#35762;&#24072;\" class=\"wp-image-1849\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#40657;&#26495;Bug&#35762;&#24072;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<body><h2>&#20171;&#32461;<\/h2><p>&#22312;&#26500;&#24314;Web&#24212;&#29992;&#31243;&#24207;&#26102;&#65292;&#29702;&#35299;&#23458;&#25143;&#31471;&#29615;&#22659;&#23545;&#20110;&#25552;&#20379;&#27491;&#30830;&#30340;&#20869;&#23481;&#21644;&#25552;&#21319;&#29992;&#25143;&#20307;&#39564;&#33267;&#20851;&#37325;&#35201;&#12290;&#29992;&#25143;&#20195;&#29702;HTTP&#22836;&#21253;&#21547;&#19968;&#20010;&#33021;&#22815;&#35782;&#21035;&#35831;&#27714;&#29992;&#25143;&#20195;&#29702;&#30340;&#24212;&#29992;&#31243;&#24207;&#12289;&#25805;&#20316;&#31995;&#32479;&#12289;&#20379;&#24212;&#21830;&#25110;&#29256;&#26412;&#30340;&#29305;&#24449;&#23383;&#31526;&#20018;&#12290;Laravel&#20316;&#20026;&#29616;&#20195;PHP&#26694;&#26550;&#65292;&#20351;&#24471;&#35775;&#38382;&#29992;&#25143;&#20195;&#29702;&#20449;&#24687;&#38750;&#24120;&#26041;&#20415;&#12290;<\/p><h2>&#22312;Laravel&#20013;&#65292;&#21487;&#20197;&#36890;&#36807;&#35775;&#38382;&#29992;&#25143;&#20195;&#29702;&#22836;&#65288;User-Agent Header&#65289;&#26469;&#33719;&#21462;&#26377;&#20851;&#23458;&#25143;&#31471;&#30340;&#20449;&#24687;&#12290;&#36825;&#36890;&#24120;&#29992;&#20110;&#20998;&#26512;&#21644;&#36319;&#36394;&#30446;&#30340;&#12290;&#20363;&#22914;&#65292;&#22312;&#26085;&#24535;&#35760;&#24405;&#25110;&#30417;&#25511;&#31995;&#32479;&#20013;&#20351;&#29992;&#36825;&#20123;&#20449;&#24687;&#21487;&#20197;&#24110;&#21161;&#35782;&#21035;&#29305;&#23450;&#30340;&#35831;&#27714;&#26469;&#28304;&#12290;&#22914;&#26524;&#20320;&#38656;&#35201;&#20855;&#20307;&#30340;&#26041;&#27861;&#25110;&#20195;&#30721;&#31034;&#20363;&#65292;&#35831;&#25552;&#20379;&#26356;&#22810;&#35814;&#32454;&#20449;&#24687;&#12290;<\/h2><p>&#26368;&#31616;&#21333;&#30340;&#26041;&#27861;&#22312;Laravel&#20013;&#35775;&#38382;&#29992;&#25143;&#20195;&#29702;&#20449;&#24687;&#26159;&#36890;&#36807;&#20351;&#29992;&#12290;<code>Request<\/code>&#22806;&#35266;&#12290;&#36825;&#26159;&#19968;&#20010;&#31616;&#21333;&#30340;&#20363;&#23376;&#65306;<\/p><pre><code>&lt;?php\n\nuse IlluminateHttpRequest;\n\nRoute::get('\/user-agent', function (Request $request) {\n    return $request-&gt;header('User-Agent');\n});\n<\/code><\/pre><p>&#22914;&#26524;&#24744;&#23548;&#33322;&#21040;<code>\/user-agent<\/code>&#24744;&#30340;Laravel&#24212;&#29992;&#31243;&#24207;&#30340;&#36335;&#30001;&#65292;&#36825;&#23558;&#36755;&#20986;User-Agent&#23383;&#31526;&#20018;&#12290;<\/p><h2>&#22312;&#25511;&#21046;&#22120;&#20013;&#22788;&#29702;&#29992;&#25143;&#20195;&#29702;&#65288;User-Agent&#65289;&#30340;&#38382;&#39064;&#12290;<\/h2><p>&#22312;&#36335;&#30001;&#20013;&#30452;&#25509;&#33719;&#21462;&#29992;&#25143;&#20195;&#29702;&#19981;&#26159;&#26368;&#24120;&#35265;&#30340;&#26041;&#24335;&#65292;&#36890;&#24120;&#20250;&#22312;&#25511;&#21046;&#22120;&#26041;&#27861;&#20013;&#36827;&#34892;&#22788;&#29702;&#12290;&#20197;&#19979;&#26159;&#23454;&#29616;&#36825;&#19968;&#26041;&#24335;&#30340;&#31034;&#20363;&#65306;<\/p><pre><code>&lt;?php\n\nnamespace AppHttpControllers;\n\nuse IlluminateHttpRequest;\n\nclass UserController extends Controller\n{\n    public function userAgent(Request $request)\n    {\n        $userAgent = $request-&gt;header('User-Agent');\n        \/\/ ... Perform operation with $userAgent\n        return view('user-agent', compact('userAgent'));\n    }\n}\n<\/code><\/pre><p>&#22312;&#19978;&#36848;&#20363;&#23376;&#20013;&#65292;<code>$userAgent<\/code>&#21464;&#37327;&#34987;&#20256;&#36882;&#21040;&#35270;&#22270;&#20013;&#65292;&#20801;&#35768;&#20320;&#22312;HTML&#27169;&#26495;&#20013;&#21033;&#29992;&#23427;&#12290;<\/p><h2>&#29992;&#25143;&#20195;&#29702;&#22788;&#29702;&#20013;&#38388;&#20214;<\/h2><p>&#23545;&#20110;&#38656;&#35201;&#22312;&#20840;&#23616;&#33539;&#22260;&#20869;&#22788;&#29702;&#29992;&#25143;&#20195;&#29702;&#30340;&#24212;&#29992;&#31243;&#24207;&#65292;&#21019;&#24314;&#19968;&#20010;&#20013;&#38388;&#20214;&#21487;&#33021;&#26159;&#26356;&#22909;&#30340;&#36873;&#25321;&#12290;&#36825;&#26679;&#65292;&#24744;&#21487;&#20197;&#22522;&#20110;&#29992;&#25143;&#20195;&#29702;&#23545;&#35831;&#27714;&#36827;&#34892;&#31649;&#29702;&#25110;&#20462;&#25913;&#65292;&#22312;&#23427;&#20204;&#21040;&#36798;&#24212;&#29992;&#31243;&#24207;&#36923;&#36753;&#20043;&#21069;&#12290;<\/p><pre><code>&lt;?php\n\nnamespace AppHttpMiddleware;\n\nuse Closure;\n\nclass CheckUserAgent\n{\n    public function handle($request, Closure $next)\n    {\n        $userAgent = $request-&gt;header('User-Agent');\n        \n        \/\/ Check or modify the $userAgent or request if necessary\n        \n        return $next($request);\n    }\n}\n<\/code><\/pre><p>&#22312;&#21019;&#24314;&#20013;&#38388;&#20214;&#21518;&#65292;&#35831;&#21035;&#24536;&#20102;&#27880;&#20876;&#23427;&#21040;&#24744;&#30340;&#24212;&#29992;&#20013;&#12290;<code>app\/Http\/Kernel.php<\/code>&#23558;&#25991;&#20214;&#20998;&#37197;&#21040;&#36335;&#30001;&#32452;&#25110;&#20840;&#23616;&#20013;&#38388;&#20214;&#12290;<\/p><h2>&#39640;&#32423;&#29992;&#25143;&#20195;&#29702;&#35299;&#26512;<\/h2><p>&#22312;&#33719;&#21462;&#29992;&#25143;&#20195;&#29702;&#23383;&#31526;&#20018;&#26102;&#24456;&#26377;&#29992;&#65292;&#20294;&#35299;&#26512;&#23427;&#20197;&#25552;&#21462;&#35814;&#32454;&#20449;&#24687;&#24448;&#24448;&#26356;&#20026;&#37325;&#35201;&#12290;Laravel &#26412;&#36523;&#24182;&#27809;&#26377;&#20869;&#32622;&#30340;&#33021;&#21147;&#26469;&#35299;&#26512;&#29992;&#25143;&#20195;&#29702;&#23383;&#31526;&#20018;&#65292;&#20294;&#20320;&#21487;&#20197;&#24456;&#23481;&#26131;&#22320;&#38598;&#25104;&#19968;&#20010;&#22914;&#30340;&#21253;&#12290;<code>whichbrowser\/parser<\/code>&#20026;&#20102;&#36827;&#34892;&#31283;&#20581;&#30340;&#35299;&#26512;&#65292;&#35831;&#30475;&#20197;&#19979;&#24320;&#22987;&#65306;<\/p><pre><code>composer require whichbrowser\/parser<\/code><\/pre><p>&#22312;&#20320;&#30340;&#25511;&#21046;&#22120;&#25110;&#20013;&#38388;&#20214;&#20013;&#65306;<\/p><pre><code>&lt;?php\n\nuse WhichBrowserParser;\n\n$userAgentString = $request-&gt;header('User-Agent');\n$parsedUserAgent = new Parser($userAgentString);\n\n\/\/ Now you can access properties like\n$parsedBrowser = $parsedUserAgent-&gt;browser-&gt;name;\n$parsedOS = $parsedUserAgent-&gt;os-&gt;name;\n<\/code><\/pre><p>&#36825;&#26679;&#65292;&#20320;&#23601;&#33021;&#22815;&#33719;&#21462;&#21040;&#29992;&#25143;&#35774;&#22791;&#30340;&#27983;&#35272;&#22120;&#21644;&#25805;&#20316;&#31995;&#32479;&#32423;&#21035;&#30340;&#35814;&#32454;&#20449;&#24687;&#65292;&#36825;&#23545;&#20110;&#20998;&#26512;&#25110;&#26465;&#20214;&#20869;&#23481;&#28210;&#26579;&#26469;&#35828;&#21487;&#33021;&#38750;&#24120;&#26377;&#20215;&#20540;&#12290;<\/p><h2>&#27491;&#22312;&#27979;&#35797;&#29992;&#25143;&#20195;&#29702;&#36923;&#36753;&#12290;<\/h2><p>&#22312;Laravel&#20013;&#65292;&#27979;&#35797;&#26159;&#24320;&#21457;&#27969;&#31243;&#20013;&#30340;&#20851;&#38190;&#37096;&#20998;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#32534;&#20889;&#19968;&#20010;&#27979;&#35797;&#20197;&#30830;&#20445;&#24744;&#30340;&#29992;&#25143;&#20195;&#29702;&#36923;&#36753;&#24037;&#20316;&#33391;&#22909;&#30340;&#26041;&#27861;&#65306;<\/p><pre><code>&lt;?php\n\nnamespace TestsFeature;\n\nuse TestsTestCase;\n\nclass UserAgentTest extends TestCase\n{\n    public function testUserAgentEndpoint()\n    {\n        $response = $this-&gt;withHeaders([\n            'User-Agent' =&gt; 'TestAgent'\n        ])-&gt;get('\/user-agent');\n\n        $response-&gt;assertSee('TestAgent');\n    }\n}\n<\/code><\/pre><p>&#22312;&#26412;&#27425;&#27979;&#35797;&#20013;&#65292;&#25105;&#20204;&#23558;&#35774;&#32622;&#19968;&#20010;&#33258;&#23450;&#20041;&#30340;&#29992;&#25143;&#20195;&#29702;&#22836;&#65292;&#24182;&#26029;&#35328;&#25105;&#20204;&#30340;&#24212;&#29992;&#33021;&#22815;&#27491;&#30830;&#22320;&#25581;&#31034;&#23427;&#12290;<\/p><h2>&#32467;&#35770;<\/h2><p>&#29702;&#35299;&#22914;&#20309;&#35775;&#38382;&#21644;&#35299;&#26512;&#29992;&#25143;&#20195;&#29702;&#23383;&#31526;&#20018;&#21487;&#20197;&#25552;&#21319;Laravel&#24212;&#29992;&#30340;&#39640;&#32423;&#24615;&#12290;&#26080;&#35770;&#26159;&#38024;&#23545;&#19981;&#21516;&#27983;&#35272;&#22120;&#23450;&#21046;&#21709;&#24212;&#12289;&#36827;&#34892;&#20998;&#26512;&#36824;&#26159;&#22686;&#24378;&#23433;&#20840;&#24615;&#65292;&#29992;&#25143;&#20195;&#29702;&#37117;&#34164;&#21547;&#30528;&#23458;&#25143;&#31471;&#30340;&#20851;&#38190;&#20449;&#24687;&#65292;&#32780;Laravel&#24320;&#21457;&#32773;&#21487;&#20197;&#36890;&#36807;&#20854;Request&#31867;&#12289;&#20013;&#38388;&#20214;&#25110;&#31532;&#19977;&#26041;&#21253;&#39640;&#25928;&#22320;&#21033;&#29992;&#36825;&#20123;&#20449;&#24687;&#12290;&#20511;&#21161;Laravel&#30340;&#35831;&#27714;&#31867;&#12289;&#20013;&#38388;&#20214;&#25110;&#31532;&#19977;&#26041;&#21253;&#65292;&#36825;&#19968;&#36807;&#31243;&#26082;&#31616;&#21333;&#21448;&#28789;&#27963;&#12290;<\/p><\/body>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--3\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/xygcfznnzczhsdmwydzhsmzzzmddnq-400x300.jpg\" alt=\"&#38271;&#24037;&#30721;&#22900;1523\" class=\"wp-image-2906\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#38271;&#24037;&#30721;&#22900;1523<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#35201;&#22312; Laravel &#20013;&#33719;&#21462; User-Agent &#22836;&#65292;&#24744;&#21487;&#20197;&#20351;&#29992; <code>Request<\/code> &#31867;&#20013;&#30340;&#26041;&#27861;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#23454;&#29616;&#30340;&#31616;&#21333;&#31034;&#20363;&#65306;<\/p>\n<pre><code class=\"language-php\">use IlluminateHttpRequest;\n\n\/\/ &#20551;&#35774; $request &#26159; Request &#23545;&#35937;\n$userAgent = request()-&gt;header('User-Agent');\n\necho \"User-Agent: {$userAgent}\";<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;&#25105;&#20204;&#39318;&#20808;&#23548;&#20837;&#20102; <code>IlluminateHttpRequest<\/code>&#12290;&#28982;&#21518;&#65292;&#25105;&#20204;&#36890;&#36807; <code>request()<\/code> &#26041;&#27861;&#33719;&#21462;&#35831;&#27714;&#23545;&#35937;&#65292;&#24182;&#20351;&#29992; <code>header()<\/code> &#26041;&#27861;&#20174;&#21709;&#24212;&#22836;&#20013;&#33719;&#21462; User-Agent &#23383;&#27573;&#12290;<\/p>\n<p>&#27880;&#24847;&#65306;&#36825;&#20010;&#26041;&#27861;&#21482;&#36866;&#29992;&#20110; PHP &#29256;&#26412; 5.6 &#21450;&#26356;&#39640;&#29256;&#26412;&#12290;&#22914;&#26524;&#24744;&#30340; PHP &#29256;&#26412;&#36739;&#20302;&#65292;&#24744;&#21487;&#33021;&#38656;&#35201;&#20351;&#29992;&#19981;&#21516;&#30340;&#26041;&#27861;&#26469;&#33719;&#21462; User-Agent &#23383;&#27573;&#12290;<\/p>\n<p>&#27492;&#22806;&#65292;&#22914;&#26524;&#24744;&#24819;&#35201;&#23558;&#27492;&#20449;&#24687;&#23384;&#20648;&#21040;&#25968;&#25454;&#24211;&#25110;&#20854;&#20182;&#25345;&#20037;&#21270;&#23384;&#20648;&#31995;&#32479;&#65292;&#35831;&#30830;&#20445;&#20351;&#29992;&#23433;&#20840;&#30340;&#32534;&#30721;&#26041;&#24335;&#65288;&#20363;&#22914; JSON&#65289;&#26469;&#22788;&#29702;&#29992;&#25143;&#20195;&#29702;&#23383;&#31526;&#20018;&#65292;&#20197;&#38450;&#25935;&#24863;&#20449;&#24687;&#34987;&#24847;&#22806;&#27844;&#38706;&#12290;<\/p>\n<p>&#31034;&#20363;&#20195;&#30721;&#22914;&#19979;&#65306;<\/p>\n<pre><code class=\"language-php\">use IlluminateSupportFacadesDB;\nuse IlluminateHttpRequest;\n\n\/\/ &#20551;&#35774; $request &#26159; Request &#23545;&#35937;\n$ua = request()-&gt;header('User-Agent');\nDB::table('users')-&gt;insert([\n    'agent' =&gt; $ua,\n]);\n\necho \"User-Agent has been stored in the database.\";<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#31034;&#20363;&#20013;&#65292;&#25105;&#20204;&#21019;&#24314;&#20102;&#19968;&#20010;&#26032;&#30340;&#34920; <code>users<\/code> &#24182;&#25554;&#20837;&#20102;&#19968;&#26465;&#35760;&#24405;&#65292;&#20854;&#20013;&#21253;&#21547;&#20102; User-Agent &#23383;&#27573;&#12290;&#36825;&#26679;&#65292;&#27599;&#24403;&#26377;&#26032;&#30340; User-Agent &#23383;&#27573;&#26102;&#65292;&#36825;&#26465;&#35760;&#24405;&#23601;&#20250;&#34987;&#26356;&#26032;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#22312; Laravel &#20013;&#65292;&#20320;&#21487;&#20197;&#36890;&#36807;&#22810;&#31181;&#26041;&#24335;&#33719;&#21462;&#23458;&#038;#2..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-814","my1js","type-my1js","status-publish","hentry","my1js2nav-laravel"],"acf":{"qian_art_seotitle":"","qian_art_seotitle_source":{"label":"SEO\u6807\u9898","type":"text","formatted_value":""},"qian_art_seokws":"","qian_art_seokws_source":{"label":"SEO\u5173\u952e\u8bcd","type":"text","formatted_value":""},"qian_art_stzhong":"","qian_art_stzhong_source":{"label":"\u4e2d | \u77ed\u6807\u9898","type":"text","formatted_value":""}},"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js\/814","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js"}],"about":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/types\/my1js"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/media?parent=814"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=814"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=814"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}