как прочитать ответ с URL, который отправляет ответ в формате json


Мне был предоставлен URL-канал API, который возвращает ответ в формате JSON, и мне сказали установить заголовки следующим образом:

Accept: application/json
X-some-API-Key: fdfdfdfdsgddc43aa96c556eb457b4009

Не мог бы кто-нибудь, пожалуйста, сказать мне, как двигаться дальше с этой проблемой?

Author: BalusC, 2011-05-12

2 answers

Вопрос 1

Я бы использовал библиотеки PHP curl.

Например:

// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept: application/json', 
    'X-some-API-Key: fdfdfdfdsgddc43aa96c556eb457b4009',
));

// grab URL and pass it to the browser
echo curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);

См. curl_setopt() для получения дополнительной информации о константах, таких как CURLOPT_HTTPHEADER Я использовал выше.

Вопрос 2 из комментариев

// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept: application/json', 
    'X-some-API-Key: fdfdfdfdsgddc43aa96c556eb457b4009',
));

// grab URL and pass it to the browser
$json = json_decode(curl_exec($ch), true);

// close cURL resource, and free up system resources
curl_close($ch);

$json теперь содержит ассоциативный массив ответа, который вы можете var_dump(), чтобы увидеть структуру.

 2
Author: Treffynnon, 2011-05-12 12:55:58

Если вы используете cURL в PHP, вы можете задать пользовательские заголовки для запроса с помощью:

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept: application/json',
    'X-some-API-Key: fdfdfdfdsgddc43aa96c556eb457b4009'
));
 2
Author: Nick, 2011-05-12 12:43:08