如何从在json中发送响应的URL读取响应

时间:2011-05-12 12:37:04

标签: php json url codeigniter response

我收到了一个API网址Feed,它以JSON格式返回响应,并且我被告知要将标头设置为:

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

有谁能告诉我如何继续解决这个问题?

2 个答案:

答案 0 :(得分:2)

如果您在PHP中使用cURL,则可以使用以下命令在请求中设置自定义标头:

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept: application/json',
    'X-some-API-Key: fdfdfdfdsgddc43aa96c556eb457b4009'
));

答案 1 :(得分:2)

问题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()查看结构。