douba3975 2018-12-10 12:09
浏览 113
已采纳

PHP cURL POST数据集

I've been given the following example in order to post data to a API url

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"
  }
}'

I got my cURL working using the following code but I need to post the user parameters as above like email, name, tel etc.

$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);

How can I post the fields as the example states using my code?

  • 写回答

2条回答 默认 最新

  • dragonfly9527 2018-12-10 12:18
    关注

    This was already answered here: How to POST JSON Data With PHP cURL?

    You just need to add like the following:

    $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'));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?