Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how can i post JSON object through cURL in php

Tags:

json

php

curl

How can I post JSON objects to a web service, through cURL in php?

I have an array

$data = array('username'=>'abc','password'=>'pass');

The webservice which I want to call accepts JSON object, if I convert the $data to JSON with json_encode, its not working for me.

$data = json_encode($data);

curl_setopt($ch, CURLOPT_POST      ,1);
curl_setopt($ch, CURLOPT_POSTFIELDS    ,$data);

Am I doing something wrong? or I need any more parameters to set?

Thanks for help in advance.

Tanmay

like image 662
jtanmay Avatar asked Jul 19 '10 19:07

jtanmay


1 Answers

Add:

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 

to specify that the data is JSON. The default is application/x-www-form-urlencoded.

like image 59
Matthew Flaschen Avatar answered Sep 21 '22 00:09

Matthew Flaschen