Curl php 请求错误

我正在尝试使用 cURL 在 php 中设置 API 调用。 API 文档提供了一个用于从 Java 调用此 API 的示例:

HttpResponse<JsonNode> response = Unirest.get("https://api2445582011268.apicast.io/games/1942?fields=*")
.header("user-key", "*******")
.header("Accept", "application/json")
.asJson();

这是我试图将其转换为 php 中的 cURL 调用的尝试:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api2445582011268.apicast.io/games/1942?fields=*");
curl_setopt($ch, CURLOPT_HEADER, array(
    "user-key: *******",
    "Accept: application/json"
    ));
$output = curl_exec($ch);
echo $output;
curl_close($ch);

但是我的 php 正在输出以下内容:

HTTP/1.1 403 Forbidden Content-Type: text/plain; charset=us-ascii Date: Sat, 02 Sep 2017 02:52:40 GMT Server: openresty/1.9.15.1 Content-Length: 33 Connection: keep-alive Authentication parameters missing1

有人知道如何解决吗?

点赞
用户8469069
用户8469069

你使用了 CURLOPT_HEADER(一个布尔型变量,用于指示你想要在输出中包含头信息),但是你需要使用 CURLOPT_HTTPHEADER(用于传递请求头信息数组):

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "user-key: *******",
    "Accept: application/json"
));
2017-09-02 03:09:50