那么如果客户端是curl,我如何检查使用codeigniter,然后为它返回不同的东西?
您可以在使用cURL时伪造用户代理,因此根据您知道它是cURL请求时发送的用户代理,这是毫无意义的.
例如:我最近写了一个应用程序,它从谷歌获取网址的页面.现在Google不喜欢这样,所以它只允许某个用户代理访问其pagerank服务器.解?使用cURL和Google欺骗用户代理将不再是明智之举.
故事的道德:cURL用户代理绝不可靠.
如果您仍想这样做,那么您应该能够像平常一样获得传递的用户代理
$userAgent=$_SERVER['HTTP_USER_AGENT'];
编辑快速测试证明了这一点:
dumpx.php:
dump.php:
案例1:http://localhost/dumpx.php?u = y
'HTTP_USER_AGENT' => string 'booyah!' (length=7)
案例2:http://localhost/dumpx.php?u = n
没有$ _SERVER ['HTTP_USER_AGENT']
这证明curl没有默认的用户代理:它不会在请求头中传递它