2011-05-01 135 views
0

我目前面临的问题是关于谷歌搜索,卷曲和JSON。json谷歌搜索卷曲代理php

首先,我想告诉你我已经有了代码: http://pastebin.com/LZzDZvHC

让我解释一下关于它的一些东西:

  • 我不显示,我从谷歌获得的关键
  • $数据是我从提交的表单
  • IP获得这个职位的用户IP
  • $网址,显然是阿贾克斯请求url from googleapps

因此,如果我打印出$ url并将其放入我的浏览器中,我会得到一个很好的JSON回来 - 完美地工作。我想你已经可以猜出问题所在。

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

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

所以这里是问题: 我没有得到JSON回我得到一个错误回来。

说:

400这是一个错误。 您的客户发布了格式不正确或非法的请求。我们知道的就这些。

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

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

不要担心我的json_decode() - 我没有安装测试它,它工作正常!所以那里没有问题。因为我得到这个错误信息,我显然从var_dump()获得了一个“NULL”;

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

现在请看看从谷歌实况: http://code.google.com/apis/websearch/docs/ 向下滚动到PHP访问的

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

我希望有人有一个想法如何克服这个问题,因为我想使用它。

+1

什么'$打印网址的输出;'?这看起来不错吗?您可能需要对参数值进行urlencode ...(当我打开https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=oele&key=boele&userip=12.34时,我看到了良好的JSON响应。 6.78) – Rudie 2011-05-01 03:00:15

+0

令人难以置信 - 这是问题所在。我想我只是在想复杂。非常感谢你! – Richard 2011-05-01 03:09:49

+0

我正在回答,所以你可以接受它。 – Rudie 2011-05-01 03:12:42

回答