首页 > 解决方案 > 通过 file_get_contents 传递 X-Api-Key

问题描述

我正在尝试从流服务器上的 JSON 端点获取数据。我读过我需要通过 X-API-Key 标头传递 API 密钥。但不知道如何做到这一点。

$url = file_get_contents('XXXXX/history');
$data1 = json_decode($url,true);
var_dump($data1);

当从不需要 api 密钥的文件中获取 json 数据时,此代码适用于我。由于未提交密钥,因此现在如何返回 NULL。

有任何想法吗?

标签: phpjsonapi

解决方案


尝试使用 CURL:

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, 'XXXXX/history');
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3000); // 3 sec.
curl_setopt($ch, CURLOPT_TIMEOUT, 10000); // 10 sec.
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                'Authorization: ' . $yourApiKey
                ));
$result = curl_exec($ch);
curl_close($ch);


print_r($result);

推荐阅读