我试图在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'内容类型。是否无法指定自定义内容类型?有没有人对为什么回复没有以正确的格式返回有任何想法?
答案 0 :(得分:1)
请使用Accept Header尝试GET请求:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/hal+json'));
HTTP客户端使用Accept
标头告诉服务器他们将接受哪些内容类型。然后,服务器将发回一个响应,该响应将包含一个Content-Type
标头,告诉客户端返回内容的内容类型实际上是什么。
HTTP请求还可以包含Content-Type
标头。此标头指示通过POST或PUT请求将哪种类型的内容发送到服务器。