php CI 实战教程:[5]用curl获取json并解析

php CI 实战教程:[5]用curl获取json并解析_百度经验(本人原创经验)

http://jingyan.baidu.com/article/219f4bf7dc308bde452d3861.html

本篇为php CI 实战教程 用curl获取json并解析,主要内容有:通过curl_setopt获取到指定api接口返回的json内容,然后对返回数据进行json_decode还原成对象(如:array数组对象)。curl_setopt参数设置了超时时间,获取返回状态码,设置要求返回内容。

创建一个获取json并解析为对象返回的公共方法,这里打印出URL和状态码,http_code返回200的才是正常的:
function get_json_decode($params = ”) {
$MY_BASE_URL = “http://xxxx”;
// 初始化curl
$ch = curl_init ();
$url = $MY_BASE_URL . $params;
echo “<br>url==” . $url;
// 设置URL参数
curl_setopt ( $ch, CURLOPT_URL, $url );
// 设置cURL允许执行的最长秒数
curl_setopt ( $ch, CURLOPT_TIMEOUT, 5 );
// 要求CURL返回数据
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
// 执行请求
$result = curl_exec ( $ch );
// 获取http状态
$http_code = curl_getinfo ( $ch, CURLINFO_HTTP_CODE );
echo “<br>http_code==” . $http_code;
if ($http_code != 200) {
// 失败返回空数组
return array();
}
// 取得返回的结果,并显示
// print_r(json_decode($result));
// 取得返回的结果,转换成对象
$data = json_decode ( $result );
// 关闭CURL
curl_close ( $ch );
return $data;
}
php CI 实战教程:[5]用curl获取json并解析
php CI 实战教程:[5]用curl获取json并解析
2
在Controllers里面get_json_test方法调用get_json_decode 并返回到view界面使用:
function get_json_test($params = “”) {
$getdata = get_json_decode($params);
$data["response"] = $getdata;
$this->load->view(‘apiview’,$data);
}
3
在view中调用返回的对象解析显示,页面编码一定要用utf-8:
<META http-equiv=Content-Type content=”text/html; charset=utf-8″>
<DIV class=content_L_column>
<?php
echo “==================<br>”;
print_r($response);
echo “——————<br>”;
foreach($response as $row){
echo $row->{“myword”};
}
?>
END
注意事项
页面编码一定要用utf-8
http_code返回200的才是正常的

历史上的今天:

  1. 2016:  2件事,扩张你的财富吸引力!(0)
  2. 2015:  2015107期双色球预测(0)

暂无评论

发表评论

快捷键:Ctrl+Enter