代理php的地理编码

时间:2011-04-05 15:16:28

标签: php api maps geocode

我是新手,我正在使用地图api进行地理编码地址。在我的机器上,我没有任何问题。问题是我有一个带代理服务器。我尝试使用两个不同的函数配置代理:

function curl($url)
{
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_PROXY, "http://my_proxy"); 
    curl_setopt($ch, CURLOPT_PROXYPORT, my_port); 

    curl_setopt($ch, CURLOPT_HEADER,0); //Change this to a 1 to return headers
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    $data = curl_exec($ch);
    var_dump($data);
    curl_close($ch);

    return $data;
}

function curl($url)
{       
    $opts = array('http' => array('proxy' => 'tcp://my_proxy', 'request_fulluri' => true));
    $context = stream_context_create($opts);

    $data = file_get_contents($url, false, $context);

    return $data;
}

然后我用这些行调用该函数:

            $address = urlencode($address);
            $data = $this->curl("http://maps.google.com/maps/api/geocode/xml?address={$address}&sensor=false");
            $lat_lng = simplexml_load_string($data);

但是我收到'OVER_QUERY_LIMIT'错误。

你知道吗? 感谢。

1 个答案:

答案 0 :(得分:1)

  

问题在于我有一台带代理服务器。 [...]我收到'OVER_QUERY_LIMIT'错误。

听起来很多其他人都使用了代理,其中一个已超过(每天约1000个?)查询限制。