как прочитать ответ обратно с URL, который отправляет ответ в JSON - PullRequest
2 голосов
/ 12 мая 2011

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

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

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

Ответы [ 2 ]

2 голосов
/ 12 мая 2011

Вопрос 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 голосов
/ 12 мая 2011

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

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept: application/json',
    'X-some-API-Key: fdfdfdfdsgddc43aa96c556eb457b4009'
));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...