Мне дали следующий пример для отправки данных на URL-адрес API.
curl --request POST \
--url https://apiurl \
--header 'auth-token: {{token}}' \
--header 'content-type: application/json' \
--data '{
"user": {
"email": "[email protected]",
"name": "James",
"tel": "0000000"
}
}'
Я получил свой cURL, используя следующий код, но мне нужно опубликовать параметры пользователя, как указано выше, например, адрес электронной почты, имя, телефон и т. д.
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => array('Cache-Control: no-cache', 'auth-token: '.$token)
));
$response = curl_exec($curl);
curl_close($curl);
Как я могу опубликовать поля, как указано в примере, используя мой код?






я использую таким образом:
<?php
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_RETURNTRANSFER,1);
curl_setopt($handle, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, array(
'data' => '{
"user": {
"email": "[email protected]",
"name": "James",
"tel": "0000000"
}
}'
));
$dados = curl_exec($handle);
curl_close($handle);
echo "$dados";
?>
Здесь уже ответили: Как отправить данные JSON с помощью PHP cURL?
Вам просто нужно добавить следующее:
$payload = json_encode(['user'=> ['email'=>'[email protected]','name'=>'Joe','tel'=>'123e332']] );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $payload );
curl_setopt( $curl, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
Возможный дубликат Как использовать массивы в запросах cURL POST