0
Отвечен

Иностранные адреса на PHP Curl

DaData user 44279 5 лет назад обновлен Антон Жиянов 5 лет назад 4

Здравствуйте. Не могу получить иностранные адреса с помощью CURL

if ($oCurl = curl_init("http://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/" . 'address')) {
    curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($oCurl, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json',
        'Accept: application/json',
        'Authorization: Token ' . '************************************'
    ]);
    curl_setopt($oCurl, CURLOPT_POST, 1);
    curl_setopt($oCurl, CURLOPT_POSTFIELDS, json_encode(['query' => $address, 'count' => 5]));
    $sResult = curl_exec($oCurl);
    $arResult = json_decode($sResult, true);
    curl_close($oCurl);
}

echo json_encode($arResult);

Как получить иностранные адреса?

сервис: подсказки справочник: адреса интерфейс: сторонний модуль

Ответ

+1
Ответ
На рассмотрении

Добрый день! По умолчанию поиск работает только по России. Иностранные города включаются отдельным параметром:

$query = array(
    "query" => $address,
    "locations" => array("country" => "*"),
    "count" => 5
);
curl_setopt($oCurl, CURLOPT_POSTFIELDS, json_encode($query));
+1
Ответ
На рассмотрении

Добрый день! По умолчанию поиск работает только по России. Иностранные города включаются отдельным параметром:

$query = array(
    "query" => $address,
    "locations" => array("country" => "*"),
    "count" => 5
);
curl_setopt($oCurl, CURLOPT_POSTFIELDS, json_encode($query));

Добрый день!


Можем ли мы указывать нужные нам страны через запятую, тем самым исключая остальные?

Да, если у вас их немного, не больше 10. Не совсем через запятую, вот так:

$query = array(
    "query" => "пари",
    "locations" => array(
        array("country" => "Италия"),
        array("country" => "Франция"),
    ),
    "count" => 5
);

Сервис поддержки клиентов работает на платформе UserEcho