Google Places Nearby API只返回6个CURL PHP的结果。

问题描述 投票:0回答:1

我使用谷歌的地方API和当我请求提供的URL在chrome浏览器(在Mac)比它返回超过20结果。

但是,当我要求相同的URL在PHP的curl代码,它只返回6个结果。

无法得到它的工作。请帮助。

            $ch = curl_init();
            $url = 'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=31.4814662,74.411793&radius=20000&keyword='.urlencode('ac technician').'&key=API_KEY';
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_VERBOSE, 1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
            $response = curl_exec($ch);
            echo "#####".$response;            exit();
php curl cloud google-places-api
1个回答
0
投票

我无法重现这个问题,因为你的代码对同一个api调用返回了15个结果。我看了一下,似乎在做了很多调用之后,它只返回5个结果。

但是,如果你说在浏览器中得到的结果比在curl调用中得到的结果多,我会模仿浏览器发送的头文件,从以下开始。User-Agent. 检查添加这个是否对你有效。

$headers = array();
$headers[] = 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

这个头是复制一个可以由firefox浏览器发送的头.

© www.soinside.com 2019 - 2024. All rights reserved.