为什么这个API在通过php代理调用时不再有效?我该如何解决?

时间:2012-06-28 20:56:37

标签: php ajax json proxy sencha-touch-2

以下是API:http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true

如果你转到网址

,你可以看到JSON对象

我从这里找到了一个简单的PHP代理的源代码:http://www.daniweb.com/web-development/php/code/216729/php-proxy-solution-for-cross-domain-ajax-scripting

我可以使用代理访问网站,但是当我通过代理调用API时,出现错误。有谁知道为什么会这样,以及如何解决它?

调用某些其他网站时也会出现此错误。仅以google为例。

(www.mydomain.com/proxy.php?proxy_url=http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true)

2 个答案:

答案 0 :(得分:0)

我想出了如何修复它。我需要在url上调用encodeURIComponent,然后再将其附加到代理。

答案 1 :(得分:0)

proxy class使用同一作者的http class。其文档规定用户(您)负责urlencoding请求的IURL。