как прочитать ответ с URL, который отправляет ответ в формате json
Мне был предоставлен URL-канал API, который возвращает ответ в формате JSON, и мне сказали установить заголовки следующим образом:
Accept: application/json
X-some-API-Key: fdfdfdfdsgddc43aa96c556eb457b4009
Не мог бы кто-нибудь, пожалуйста, сказать мне, как двигаться дальше с этой проблемой?
2
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