我正在尝试从curl脚本编写php代码,但我认为我遇到了一些问题
curl -X POST \
https://api.mailjet.com/v4/sms-send \
-H "Authorization: Bearer $MJ_TOKEN" \
-H 'content-type: application/json' \
-d '{
"From": "InfoSMS",
"To": "+33600000000",
"Text": "Hello World!"
}'
我的代码
$token = 'XXXXXXXXXXXXXX';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.mailjet.com/v4/sms-send');
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'From' => 'InfoSMS',
'To' => '+33600000000',
'Text' => 'Hello World!'
));
curl_setopt($ch, CURLOPT_POST, 1);
$headers = array();
$headers[] = "Authorization: Bearer " . $token;
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_error($ch)) {
echo 'Error:' . curl_error($ch);
}
var_dump($result);
curl_close ($ch);
这是我第一次使用curl,所以我真的不知道从哪里开始
谢谢您的帮助
答案 0 :(得分:0)
您需要将参数数组转换为JSON。如果您给CURLOPT_POSTFIELDS
提供一个数组,则它以URL编码格式而不是JSON格式发送。
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array(
'From' => 'InfoSMS',
'To' => '+33600000000',
'Text' => 'Hello World!'
)));