Twilio Verify API: «Запрошенный URL не найден»

Я использую curl для выполнения запроса к Twilio Verify API, следуя инструкциям здесь: https://www.twilio.com/verify/api

Используя эти инструкции, я создал два php-файла для выполнения запроса curl — один для получения кода подтверждения (get_code.php) и еще один, чтобы проверить код проверки (check_code.php). Эти сценарии вызываются с помощью сообщения ajax для отправки параметров, и эти два сценария практически идентичны, за исключением URL («/ start» против «/ check»).

Я считаю, что я указываю правильные URL, и get_code.php работает, но check_code.php выдает следующую ошибку:

Запрашиваемый URL не найден. пожалуйста, проверьте http://docs.authy.com/ чтобы увидеть действительные URL.

get_code.php

<?php

$USER_PHONE = htmlspecialchars($_POST["phone"]);

$ch = curl_init();
$curlConfig = array(
CURLOPT_URL            => "https://api.authy.com/protected/json/phones/verification/start",
CURLOPT_POST           => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS     => array(
'country_code' => '1',
'via' => 'sms',
'phone_number' => $USER_PHONE,
),
CURLOPT_HTTPHEADER => array('X-Authy-API-Key: MY_KEY')
);
curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
curl_close($ch);

echo $result;
?>

check_code.php

<?php

$USER_PHONE = htmlspecialchars($_POST["phone"]);
$VERIFY_CODE = htmlspecialchars($_POST["code"]);

$ch = curl_init();
$curlConfig = array(
CURLOPT_URL            => "https://api.authy.com/protected/json/phones/verification/check",
CURLOPT_POST           => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS     => array(
'country_code' => '1',
'phone_number' => $USER_PHONE,
'verification_code' => $VERIFY_CODE
),
CURLOPT_HTTPHEADER => array('X-Authy-API-Key: MY_KEY')
);
curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
curl_close($ch);

echo $result;
?>

Я выполнил скручивание вручную в терминале, используя тот же URL и параметры, и это сработало.

curl "https://api.authy.com/protected/json/phones/verification/check?phone_number=MY_PHONE&country_code=1&verification_code=MY_CODE" -H "X-Authy-API-Key: MY_KEY"

Я не знаю, что я могу делать не так?

0

Решение

Хорошо, я понятия не имею, почему это сработало, но у меня это получилось, и, может быть, кто-то еще может объяснить, почему. Я создал URL CURL в виде строки и удалил CURLOPT_RETURNTRANSFER а также CURLOPT_POST аргументы.

<?php

$USER_COUNTRY = "1";
$USER_PHONE = htmlspecialchars($_POST["phone"]);
$VERIFY_CODE = htmlspecialchars($_POST["code"]);

$URL = "https://api.authy.com/protected/json/phones/verification/check?country_code=1&phone_number=".$USER_PHONE."&verification_code=".$VERIFY_CODE;

$ch = curl_init();
$curlConfig = array(
CURLOPT_URL            => $URL,
CURLOPT_HTTPHEADER => array('X-Authy-API-Key: MY_KEY')
);
curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
curl_close($ch);

echo $result;

?>

��

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]