jtanmay
jtanmay

Reputation: 2647

how can i post JSON object through cURL in php

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

Upvotes: 13

Views: 12414

Answers (1)

Matthew Flaschen
Matthew Flaschen

Reputation: 285047

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.

Upvotes: 16

Related Questions