как я могу конвертировать скрипт curl в php? - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь написать php-код из скрипта curl, но мне кажется, у меня есть некоторые проблемы

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поэтому я действительно не знаю с чего начать

Спасибо за помощь

1 Ответ

0 голосов
/ 16 мая 2019

Вам необходимо преобразовать массив параметров в JSON.Если вы дадите массив CURLOPT_POSTFIELDS, он будет отправлен в кодированном URL-формате, а не в формате JSON.

curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array(
    'From' => 'InfoSMS',
    'To' => '+33600000000',
    'Text' => 'Hello World!'
)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...