Набор данных PHP cURL POST - PullRequest
       0

Набор данных PHP cURL POST

0 голосов
/ 10 декабря 2018

Мне был приведен следующий пример для отправки данных на URL-адрес API

curl --request POST \
  --url https://apiurl \
  --header 'auth-token: {{token}}' \
  --header 'content-type: application/json' \
  --data '{
  "user": {
    "email": "my@email.com",
    "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);

Как я могу опубликовать поля в качестве примера, используя мой код?

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Здесь уже был дан ответ: Как разместить данные JSON с помощью PHP cURL?

Вам просто нужно добавить примерно следующее:

$payload = json_encode(['user'=> ['email'=>'test@example.com','name'=>'Joe','tel'=>'123e332']] );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $payload );
curl_setopt( $curl, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
0 голосов
/ 10 декабря 2018

Я использую таким образом:

<?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": "my@email.com",
    "name": "James",
    "tel": "0000000"
  }
}'    
));
$dados = curl_exec($handle);
curl_close($handle);
echo "$dados";
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...