Уровень безопасности Cloudflare не меняется от API - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь изменить security_level для curl для cloudflare api

$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, "ошибки ": [{" code ": 7003," message ":" Не удалось направить в / zone / zoneId / settings / security_level, возможно, ваш идентификатор объекта недействителен? "}, {" code ": 7000," message ":"Нет маршрута для этого URI"}], "messages": [], "result": null}

1 Ответ

0 голосов
/ 20 февраля 2019

Я получил ту же ошибку при попытке изменить уровень безопасности через 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, все заработало.

...