tags:

views:

59

answers:

1

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

A: 

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.

Matthew Flaschen
that did the trick for me. Thanks
jtanmay