Json谷歌搜索curl代理php


json google search curl proxy php

我目前正面临一个问题,是关于谷歌搜索,curl和json。

首先,我想向您展示我已经拥有的代码:http://pastebin.com/LZzDZvHC

让我来解释一下:

  • 我没有显示我从google
  • 收到的密钥
  • $data是我从提交的表单
  • 中获得的Post
  • ip为用户ip
  • $url显然是来自googleapps的ajax请求url

所以如果我打印出$url并把它放入我的浏览器,我得到一个漂亮的JSON返回-工作完美。我想你已经猜到问题出在哪里了。

在这些声明之后,我开始curl。

我得到了一些东西,并希望将json转换为数组。

问题是这样的:我没有得到JSON,我得到一个错误。

说:

400。这是一个错误。您的客户端发出了错误的或非法的请求。

上面有一个漂亮的谷歌标志。

所以我试着把一个用户代理放入我的curl请求->不起作用

不要担心我的json_decode() -我确实安装了测试它,它工作得很好!所以没有问题。

当我得到这个错误消息时,我显然从var_dump();

得到一个"NULL"

如果我不设置[assoc]为真我的浏览器甚至不显示我的网站。(http://www.php.net/manual/en/function.json-decode.php)

现在请看看谷歌的文档:http://code.google.com/apis/websearch/docs/向下滚动到Php Access

我可以想象这不仅是搜索的问题,也是其他谷歌服务的问题,因为我的curl请求来自服务器,对我来说这似乎是一个限制。

我希望有人有办法解决这个问题,因为我想用它

print $url;的输出是什么?看起来对吗?您可能需要对参数值进行unlencode…

当我打开https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=oele&key=boele&userip=12.34.6.78

时,我看到一个很好的JSON响应