Php Twilio验证API:“;未找到请求的URL";

Php Twilio验证API:“;未找到请求的URL";,php,api,curl,twilio,authy,Php,Api,Curl,Twilio,Authy,我使用curl执行对Twilio Verify API的请求,如下所示: 使用这些说明,我创建了两个php文件来执行curl请求——一个用于获取验证代码(get_code.php),另一个用于检查验证代码(check_code.php)。这些脚本使用ajax post来发送参数,除了URL(“/start”vs.“/check”)之外,这两个脚本几乎相同 我相信我指定了正确的URL,get_code.php可以工作,但是check_code.php会抛出以下错误: 找不到请求的URL。请检查以查

我使用curl执行对Twilio Verify API的请求,如下所示:

使用这些说明,我创建了两个php文件来执行curl请求——一个用于获取验证代码(get_code.php),另一个用于检查验证代码(check_code.php)。这些脚本使用ajax post来发送参数,除了URL(“/start”vs.“/check”)之外,这两个脚本几乎相同

我相信我指定了正确的URL,get_code.php可以工作,但是check_code.php会抛出以下错误:

找不到请求的URL。请检查以查看有效的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;
?>
<?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;
?>

我不知道我做错了什么?

好吧,我不知道为什么会这样,但我让它工作了,也许其他人可以解释为什么。我将CURL URL构建为一个字符串,并删除了
CURLOPT\u RETURNTRANSFER
CURLOPT\u 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;

?>


我很高兴你自己解决了这个问题,我只是想跟进一下。使用Authy Verify API验证代码是通过
GET
而不是
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;

?>