Чтение простого API возвращает пустой экран? - PullRequest
1 голос
/ 08 января 2020

Почему-то я не могу понять, как исправить это онлайн где-нибудь? У меня есть этот простой бесплатный Чак Норрис Джок апи, который я просто пытаюсь вывести json из, но это не будет работать? Я просто получаю пустой экран?

В консоли на вкладке сети написано 200 ok, а заголовки действительны? Что я делаю не так?

Мой код:

<?php


  header('Content-Type: application/json');
  header('X-RapidAPI-Host: matchilling-chuck-norris-jokes-v1.p.rapidapi.com');
  header('X-RapidAPI-Key: 341b5c1156msh6827bf7184ef4ddp1c8d09jsnbc52db5d01be');



  $str = file_get_contents('https://matchilling-chuck-norris-jokes-v1.p.rapidapi.com/jokes/random');

// decode JSON
$json = json_decode($str, true);

// get the data

print_r($json);

1 Ответ

2 голосов
/ 08 января 2020

Скорее всего, вы хотите отправить эти заголовки ...

header распечатывает вам заголовки локально, где вы их выполняете.

С file_get_contents это будет как это:

<?php
$opts = [
    "http" => [
        "method" => "GET",
        "header" => "Content-Type: application/json\r\n" .
            "X-RapidAPI-Host: matchilling-chuck-norris-jokes-v1.p.rapidapi.com\r\n" .
            "X-RapidAPI-Key: 341b5c1156msh6827bf7184ef4ddp1c8d09jsnbc52db5d01be\r\n"
    ]
];

$context = stream_context_create($opts);
$str = file_get_contents('https://matchilling-chuck-norris-jokes-v1.p.rapidapi.com/jokes/random', false, $context);

// decode JSON
$json = json_decode($str, true);

// get the data
print_r($json);

Я также любезно предлагаю перейти на расширение curl.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...