gpt4 book ai didi

php - Twilio 无法使用 curl php

转载 作者:行者123 更新时间:2023-12-01 07:26:14 24 4
gpt4 key购买 nike

我正在处理 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 代码一样

最佳答案

首先,由于 API 的 URL 是安全的,您必须通过设置 CURLOPT_SSL_VERIFYPEER 来禁用 SSL 对等验证。选项 false .

此外,根据 API docs , 请求的 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);

关于php - Twilio 无法使用 curl php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24879601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com