我正在尝试从cloudlre api的curl更改security_level
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.cloudflare.com/client/v4/zones/zoneId/setings/security_level");
curl_setopt($ch, CURLOPT_HEADER, array('X-Auth-Email'=>'Email','X-Auth-Key'=>'Api_key','Content-Type'=>'application/json'));
curl_setopt($ch, CURLOPT_POSTFIELDS, array('value' => 'MEDIUM'));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
但我得到的错误如下:
{“success”:false,“errors”:[{“code”:7003,“message”:“无法路由到/ zones / zoneId / settings / security_level,也许您的对象标识符无效?”},{“code “:7000,”message“:”没有该URI的路由“}],”messages“:[],”result“:null}
当我尝试通过api更改安全级别时,我收到了同样的错误。我想知道GET如何给我正确的结果和PATCH命令失败。
例如:
curl -v -X GET https://api.cloudflare.com/client/v4/zones/my_zone_id/settings/security_level \
-H "X-Auth-Email: my_email" \
-H "Content-Type:application/json" \
-H "X-Auth-Key: my_Global_API_Key" | jq
给了我:
{
"result": {
"id": "security_level",
"value": "high",
"modified_on": "2019-02-07T17:05:58.073422Z",
"editable": true
},
"success": true,
"errors": [],
"messages": []
}
但:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/my_zone_id/settings/security_level" \
-H "X-Auth-Email: my_email" \
-H "Content-Type:application/json" \
-H "X-Auth-Key: my_Global_API_Key" \
--data '{"value":"under_attack"}'
给了我:
{"success":false,"errors":[{"code":7003,"message":"Could not route to \/zones\/my_zone_id\/settings\/security_level, perhaps your object identifier is invalid?"},{"code":7000,"message":"No route for that URI"
不知怎的,我意识到问题出在复制/粘贴上。当我再次重新输入PATCH命令时,一切正常。