我是编码和使用apis的noob。 我正在使用此代码通过cloudflare api编辑rocketloader选项。
<?php
$ch = curl_init();
$headers = array(
'X-Auth-Email: <email>',
'X-Auth-Key: <key>',
'Content-Type: application/json',
);
$data = array(
'value' => 'on',
);
$json = json_encode($data);
curl_setopt($ch, CURLOPT_URL, "https://api.cloudflare.com/client/v4/zones/<zone id>/settings/rocket_loader");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_exec($ch);
curl_close($ch);
?>
&#13;
显示此错误。
Method POST not available for that URI.
&#13;
代码有什么问题?你能救我吗?
答案 0 :(得分:1)
根据CloudFlare API,您尝试访问的终端应该是PATCH
请求,当您使用POST
时,您正在使用CURLOPT_POSTFIELDS
请求访问该请求。请尝试在curl_exec
之前添加以下内容:
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');
答案 1 :(得分:0)
使用
$data = array('value' => on);
删除引号!