@mirexdoors

Как правильно отправить запрос курлом к api яндекс.афиши?

Здравствуйте! Пытаюсь получить данные с апи яндекс.афиши, но простейший get=запрос отдаёт 500. Подскажите, пожалуйста, в чём может быть проблема:

$url = "https://afisha.yandex.ru/export/json/";
$KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$token = "Authorization: Token " . $KEY;
$headers[] = $token;

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_SSL_VERIFYPEER => 0,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => $url,
    CURLINFO_HEADER_OUT =>1,
));


$result  = curl_exec($curl);
curl_close($curl);
  • Вопрос задан
  • 422 просмотра
Пригласить эксперта
Ответы на вопрос 1
ctornton
@ctornton
Мимо проходил, кому-то помог, сам научился.
Примерно так. Попробуйте, должно работать.

<?php
$url = "https://afisha.yandex.ru/export/json/";
$KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";



$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "Authorization: Bearer" $KEY,
    "Accept: */*",
    "Cache-Control: no-cache",
    "Connection: keep-alive",
    "Host: afisha.yandex.ru",
    "accept-encoding: gzip, deflate",
    "cache-control: no-cache"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы