Google Places Nearby API возвращает только 6 результатов с CURL PHP - PullRequest
0 голосов
/ 09 мая 2020

Я использую API Google Places, и когда я запрашиваю предоставленный URL-адрес в chrome браузере (на ma c), он возвращает более 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();

1 Ответ

0 голосов
/ 09 мая 2020

Я не смог воспроизвести это, так как ваш код возвращает мне 15 результатов для того же вызова API. Я немного прочитал, и кажется, что он возвращает только 5 результатов после выполнения многих вызовов.

Однако, если вы скажете, что в браузере вы получите больше результатов, чем при вызове curl, я бы мими c отправленные заголовки браузером, начиная с 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.

...