Twilio不使用curl php

 1234 发布于 2023-01-01 18:36

我正在使用TWILIO SMS,我正在使用试用帐户,一切都在使用纯PHP库,但我在使用CURL和PHP时遇到了问题

require "Services/Twilio.php";
$AccountSid = "SANDBOX_ACC_ID"; 
$AuthToken = "SANDBOX_TOKEN";
$client = new Services_Twilio($AccountSid, $AuthToken);
$message = $client->account->messages->create(array(
"From" => "+MAGICNUMBER",
"To" => "+XXXXXXXXXX",// twilio trial verified number
"Body" => "Test message 2 from Fedrick!",
));
// Display a confirmation message on the screen
echo "testing with php message {$message->sid}";

纯php输出:

testing with php message SMxxxxxxxxxxxxxxxxxxxx

代码我尝试过使用CURL和PHP(不能正常工作)

$url = "https://api.twilio.com/2010-04-01/Accounts/SANDBOX_ACC_ID/SMS/Messages.json";
$from = "+MAGICNUMBER";
$to = "+XXXXXXXXXX"; // twilio trial verified number
$body = "using twilio rest api from Fedrick";
$id = "SANDBOX_ACC_ID";
$token = "SANDBOX_TOKEN";
$data = array (
        'From' => $from,
        'To' => $to,
        'Body' => $body,

    );
$post = http_build_query($data);
$x = curl_init($url );
curl_setopt($x, CURLOPT_POST, true);
curl_setopt($x, CURLOPT_RETURNTRANSFER, true);
curl_setopt($x, CURLOPT_USERPWD, "$id:$token");
curl_setopt($x, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($x, CURLOPT_POSTFIELDS, $post);
var_dump($post);
$y = curl_exec($x);
var_dump($y);
curl_close($x);

输出使用Curl php:

bool(false) 

我在curl代码中做了什么错...有没有使用纯PHP库的任何解决方案,我想使用简短的代码,就像上面的CURL代码一样

1 个回答
  • 首先,由于API的URL是安全的,因此您必须通过将CURLOPT_SSL_VERIFYPEER选项设置为禁用SSL对等验证false.

    此外,根据API文档,请求的URL依赖于帐户,即应根据您的帐户沙箱ID构建:

    https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages
    

    所以代码应如下所示:

    $id = "SANDBOX_ACC_ID";
    $token = "SANDBOX_TOKEN";
    $url = "https://api.twilio.com/2010-04-01/Accounts/$id/SMS/Messages";
    $from = "+MAGICNUMBER";
    $to = "+XXXXXXXXXX"; // twilio trial verified number
    $body = "using twilio rest api from Fedrick";
    $data = array (
        'From' => $from,
        'To' => $to,
        'Body' => $body,
    );
    $post = http_build_query($data);
    $x = curl_init($url );
    curl_setopt($x, CURLOPT_POST, true);
    curl_setopt($x, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($x, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($x, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($x, CURLOPT_USERPWD, "$id:$token");
    curl_setopt($x, CURLOPT_POSTFIELDS, $post);
    $y = curl_exec($x);
    curl_close($x);
    var_dump($post);
    var_dump($y);
    

    2023-01-01 18:37 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有