PHP - cURL指定自定义Content-Type

时间:2015-06-24 18:10:40

标签: php json curl

我试图在PHP中使用cURL来创建一个API,该API具有名为" application / qhal + json"的自定义Content-Type响应类型选项。它返回一种JSON,它被抽象出来以供自定义使用。

我正在使用的内容:

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CERTINFO, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: applcation/qhal+json'));

$result = curl_exec($ch);

然而,响应总是回归' application / json'内容类型。是否无法指定自定义内容类型?有没有人对为什么回复没有以正确的格式返回有任何想法?

1 个答案:

答案 0 :(得分:1)

请使用Accept Header尝试GET请求:

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/hal+json'));

HTTP客户端使用Accept标头告诉服务器他们将接受哪些内容类型。然后,服务器将发回一个响应,该响应将包含一个Content-Type标头,告诉客户端返回内容的内容类型实际上是什么。

HTTP请求还可以包含Content-Type标头。此标头指示通过POST或PUT请求将哪种类型的内容发送到服务器。