上篇说到了php获取post请求http body中json格式的数据,在实际应用中也需要给其它应用发送类似的请求,这篇要说明一下如何发送http body为json格式的请求。因为涉及到http头信息,可以先参考一下:php获取post请求的json参数。
先贴一下代码吧:
$url = “http://localhost:9090/”;
$params = json_encode(array(
‘users’ => array(
array(‘user_id’ => ‘1’, ‘name’ => ‘tony’),
array(‘user_id’ => ‘2’, ‘name’ => ‘andy’)
)));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
‘Content-Type: application/json’,
‘Content-Length: ‘ . strlen($params)
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, “POST”);