【问题标题】:Set $_SERVER['HTTP_USER_AGENT'] for get_browser()为 get_browser() 设置 $_SERVER['HTTP_USER_AGENT']
【发布时间】:2016-03-17 17:15:19
【问题描述】:

我想在调用 get_browser() 函数之前手动设置 $_SERVER['HTTP_USER_AGENT']。

<?php
   ...
   $_SERVER['HTTP_USER_AGENT'] = $default_browser;

   $browser = get_browser(null, true);
   print_r($browser);
?>

但它给了我一个错误。

PHP Warning:  get_browser(): HTTP_USER_AGENT variable is not set, cannot determine user agent name in /home/insu/a.php on line 6

是否可以手动设置 HTTP_USER_AGENT?

【问题讨论】:

  • 我想你会想要将$default_browser 值直接传递给get_browser()。更改 $_SERVER 值不会更改实际的用户代理标头,并且“[b] 默认情况下,使用 HTTP 用户代理标头的值”。但这里可能存在不止一个问题;即使没有尝试重新定义用户代理值,您是否也会收到警告?这个bug report 看起来很相关。

标签: php browscap


【解决方案1】:

您可以这样做: php $browser = get_browser($default_browser, true); print_r($browser);

但是你不应该依赖get_browser(),因为它真的很慢。

您可以在此处https://github.com/ThaDafinser/UserAgentParser 的许多 Parsers 中进行选择

【讨论】:

    猜你喜欢
    • 2011-09-21
    • 2017-01-03
    • 2012-06-18
    • 2014-11-30
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    相关资源
    最近更新 更多