Nexmo sms API在PHP上返回false,但在浏览器上不返回


Nexmo sms API on PHP return false but not on browser

$url = 'https://rest.nexmo.com/sms/json?api_key=xxx&api_secret=xxx&from=NEXMO&to=xxxxx&text=Welcome+to+Nexmo';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);

当我执行它时,响应是空的。

但是当我在浏览器上访问url时,它会给出api。txt文件,其中包含响应,然后我收到使用该url发送的短信

我试过同样的代码:

$url = 'https://rest.nexmo.com/sms/json?api_key=KEY&api_secret=SECRET&from=NEXMO&to=TO_NUMBER&text=Welcome+to+Nexmo';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo($response);

我得到了响应:

{
    "message-count": "1",
    "messages": [{
        "to": "TO_NUMBER",
        "message-id": "MESSAGE_ID",
        "status": "0",
        "remaining-balance": "7.25697349",
        "message-price": "0.03330000",
        "network": "23415"
    }]
}%
如您所见,响应似乎已被填充。所以,它似乎有效。

我个人推荐使用Nexmo -php库,因为它是由Nexmo(我工作的公司)官方支持的。

$client = new Nexmo'Client(new Nexmo'Client'Credentials'Basic(API_KEY, API_SECRET));
$message = $client->message()->send([
    'to' => NEXMO_TO,
    'from' => NEXMO_FROM,
    'text' => 'Test message from the Nexmo PHP Client'
]);