6

我正在使用$_SERVER['HTTP_REFERER'];, 来获取推荐人 URL。

当我在谷歌搜索框中输入q='some text'

`https://www.google.com.pk/#hl=en&output=search&sclient=psy-ab&q=some text%2Ftestbulkresponse&oq=some text%2Ftestbulkresponse&gs_l=hp.3...15460.24280.1.25007.30.30.0.0.0.0.325.7136.2-27j3.30.0...0.0...1c.1.8.hp.dAvuch3bBg4&psj=1&bav=on.2,or.r_qf.&bvm=bv.44697112,d.ZWU&fp=980e418276b62e8c&biw=1366&bih=595`

但是当我在我的网站上使用 as $_SERVER['HTTP_REFERER'];

q=null这样

`http://www.google.com.pk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC0QFjAA&url=http%3A%2F%2Fwww.bulkresponse.com%2Ftestbulkresponse%2Fdashboard.php&ei=r9NbUfv7GcjaOYDdgKgC&usg=AFQjCNF9U_DpJEwupZ0ZLPbjWJ6DQLWZcA&bvm=bv.44697112,d.ZWU`. 

所以我无法在谷歌中获得搜索到的关键字,我该怎么做才能获得搜索到的关键字?

4

3 回答 3

17

Google 删除了 HTTPS 连接和登录用户的搜索查询,因此了解搜索查询的唯一方法是使用 Google Analytics

当您从https://www.google.com进行搜索时,您通过我们的自然搜索列表访问的网站仍会知道您来自 Google,但不会收到有关每个单独查询的信息。

http://googleblog.blogspot.com.es/2011/10/making-search-more-secure.html http://analytics.blogspot.com.es/2011/10/making-search-more-secure-accessing .html

于 2013-04-03T07:18:09.453 回答
1

试试这个。

parse_str(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_QUERY), $queries);

echo $queries['q'];

参考:

http://php.net/parse_url

http://php.net/parse_str

于 2013-04-03T07:16:27.470 回答
1
$ref = $_SERVER['HTTP_REFERER'];
if(strstr($ref, "google.com")){
  //echo $ref;  
  $regex ='/q=(.+?)&/';
  preg_match($regex, $ref, $query);
  echo $query[1];
 }

它并非每次都有效,尤其是现在他们的更新。我收到很多“ &esrc=s ”报告。

于 2013-11-21T18:37:53.027 回答