我正在尝试在Google+、Facebook等上分享我的页面的标题、描述等。
我在CodeIgniter中有以下代码来检查会话,如果用户代理是Facebook在抓取我的页面,则跳过跳过会话检查。我正努力为Google+做同样的事情。为此,我需要知道Google+的HTTP用户代理名称,以及如何在这段代码中跳过它。
if(!$this->session->userdata('client_id') && !strstr( $_SERVER['HTTP_USER_AGENT'], 'facebookexternalhit'))
{
redirect('client/login/index', 'refresh');
exit;
}
正式记录的用户代理将包含Google (+https://developers.google.com/+/web/snippet/)
。
请参阅https://stackoverflow.com/a/19418450/413531:
"Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20110814 Firefox/6.0 Google (+https://developers.google.com/+/web/snippet/)"
但请记住,没有声明用户代理的官方页面,这通常是不依赖用户代理字符串的标志。查看谷歌员工Jenny Murphy 的答案
我建议不要由用户代理进行筛选。的用户代理+1按钮的爬网程序可以随时更改恕不另行通知。
话虽如此,基于我破解的一个小php脚本,它看起来用户代理当前为:Mozilla/5.0(Windows NT 6.1;rv:6.0)Gecko/20110814 Firefox/6.0
干杯,Jenny