curl转php的方法:1、通过“curl -X GET -H “Content-Type:application”…”获取状态;2、设置状态;3、通过“$header= array(…)”方法实现curl转为php发送即可。
本文操作环境:windows7系统、PHP7.1版、DELL G3电脑
curl 怎么转php?
curl命令转换成php源码
获取状态:
curl -X GET -H "Content-Type:application/json" -H "Authorization: token 4e56266f2502936e0378ea6a985dc74a5bec4280" http://user.endv.cn/v1/datastreams/plug-status/datapoint/
返回
{"status": 200, "datapoint": null}
设置状态
curl -H "Authorization: token 6bcb3cdb69b07370f5ad73e7a856409802fdd735" -d "{\"datapoint\":{\"x\":1}}" http://user.endv.cn/v1/datastreams/plug-status/datapoint/?deliver_to_device=true
返回
{"status": 404, "nonce": 333984364, "message": "remote device is disconnect"}
curl转为php发送
获取状态:
<?php //curl命令 curl -X GET -H "Content-Type:application/json" -H "Authorization: token 4e56266f2502936e0378ea6a985dc74a5bec4280" http://user.endv.cn/v1/datastreams/plug-status/datapoint/ $url = "http://user.endv.cn/v1/datastreams/plug-status/datapoint/"; $header= array( 'Content-Type: application/json', 'Authorization: token 4e56266f2502936e0378ea6a985dc74a5bec4280'); $ch = curl_init(); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); <a style="color:transparent">来源gao*daima.com搞@代#码网</a> $output = curl_exec($ch); curl_close($ch); //打印获得的数据 print_r($output); ?>
设置状态:
<?php //curl命令 curl -H "Authorization: token 6bcb3cdb69b07370f5ad73e7a856409802fdd735" -d "{\"datapoint\":{\"x\":1}}" http://user.endv.cn/v1/datastreams/plug-status/datapoint/?deliver_to_device=true $url = "http://user.endv.cn/v1/datastreams/plug-status/datapoint/?deliver_to_device=true"; $header= array( 'Content-Type: application/json', 'Authorization: token 6bcb3cdb69b07370f5ad73e7a856409802fdd735'); $data=' { "datapoint":[ { "x":"1", }] }'; $ch = curl_init(); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); curl_close($ch); //打印获得的数据 print_r($output); ?>
利用php curl发送json数据与curl post其它数据是一样的
下面我来给大家总结几个关于curl post发送json数据实例
例1
$data = array("name" => "Hagrid", "age" => "36"); $data_string = json_encode($data); $ch = curl_init('http://api.local/rest/users'); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($data_string)) ); $result = curl_exec($ch);