【问题标题】:json google search curl proxy phpjson谷歌搜索curl代理php
【发布时间】:2011-05-01 02:49:34
【问题描述】:

我目前面临一个关于谷歌搜索、curl 和 json 的问题。

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

让我解释一下它:

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

因此,如果我打印出 $url 并将其放入浏览器中,我会得到一个不错的 JSON - 完美运行。我想你已经猜到问题出在哪里了。

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

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

所以问题来了: 我没有得到 JSON,我得到了一个错误。

说:

400。这是一个错误。 您的客户发出了格式错误或非法的请求。这就是我们所知道的一切。

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

所以我尝试将用户代理放入我的 curl 请求中 -> 也不起作用。

不用担心我的 json_decode() - 我确实安装了 对其进行了测试,它工作正常!所以那里没有问题。

当我收到此错误消息时,我显然从 var_dump() 中得到了一个“NULL”;

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

现在请看一下来自 google 的文档: http://code.google.com/apis/websearch/docs/ 向下滚动到 Php 访问

我可以想象这不仅是搜索的问题,而且是其他谷歌服务的问题,因为我的 curl 请求来自服务器,因此在我看来这是一个限制。

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

【问题讨论】:

  • print $url; 的输出是什么?这看起来对吗?您可能需要对参数值进行 urlencode...(当我打开 ajax.googleapis.com/ajax/services/search/… 时,我看到了一个不错的 JSON 响应)
  • 难以置信——这就是问题所在。我想我只是想复杂。非常感谢!
  • 我将其作为答案,以便您接受。

标签: php json curl


【解决方案1】:

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

当我打开 https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=oele&key=boele&userip=12.34.6.78 时,我看到了一个不错的 JSON 响应

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-08
    相关资源
    最近更新 更多