PHP中使用CURL获得快递鸟API接口JSON数据的文件头处理方案
2019-04-02 14:41
766 查看
版权声明:保哥后院出品,为避免断章取义走弯路,请注意环境配置和时间。 https://blog.csdn.net/weixin_41290949/article/details/88971800
PHP中使用CURL获得JSON数据的处理方案
文件:curl_init.php
header('Content-Type:text/json;charset=UTF-8'); //header("Content-type:text/html;charset=utf-8"); //http://www.php.cn/php-weizijiaocheng-393305.html // 创建一个新cURL资源 $ch = curl_init(); // 设置URL和相应的选项 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//获取的信息以文件流的形式返回,而不是直接输出 curl_setopt($ch, CURLOPT_URL, "http://www.kuaidi100.com/query?type=ems&postid=9972311155713"); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); //curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $resp = curl_exec($ch); // 关闭cURL资源,并且释放系统资源 curl_close($ch); $resp = json_decode($resp,true);
复制源码可以直接PHP环境中测试。
- 文件头header(‘Content-Type:text/json;charset=UTF-8’);,表明文件是json字符串,如果直接在该文件内部使用HTML处理,则无效;但是可以通过ajax调用数据;
- header(“Content-type:text/html;charset=utf-8”);,表明文件是html类型,可以直接在改文件内部使用HTML标记语言处理;
- http://www.kuaidi100.com/query?type=ems&postid=9972311155713,type是拼音组成的快递方式参数,postid为快递单号参数。
print_r($resp);
输入效果:
[data] => Array ( [0] => Array ( [time] => 2019-03-23 15:30:38 [ftime] => 2019-03-23 15:30:38 [context] => [邮政宁波市万里邮政所]在 宁波 已签收,他人代收:雍城世家57幢菜鸟驿站,投递员:张兵:18157472130 [location] => 邮政宁波市万里邮政所 ) [1] => Array ( [time] => 2019-03-23 13:35:32 [ftime] => 2019-03-23 13:35:32 [context] => 【邮政宁波市万里邮政所】安排投递,投递员:张兵:18157472130 [location] => 邮政宁波市万里邮政所 ) [2] => Array ( [time] => 2019-03-23 12:55:53 [ftime] => 2019-03-23 12:55:53 [context] => 到达【邮政宁波市万里邮政所】 [location] => 邮政宁波市万里邮政所 ) [3] => Array ( [time] => 2019-03-23 12:11:58 [ftime] => 2019-03-23 12:11:58 [context] => 离开【宁波中心】,下一站【邮政宁波市万里邮政所】 [location] => 宁波中心 ) [4] => Array ( [time] => 2019-03-23 09:59:46 [ftime] => 2019-03-23 09:59:46 [context] => 到达【宁波中心】 [location] => 宁波中心 ) [5] => Array ( [time] => 2019-03-23 06:15:56 [ftime] => 2019-03-23 06:15:56 [context] => 离开【杭州二枢纽邮件处理中心】,下一站【宁波中心】(经转) [location] => 杭州二枢纽邮件处理中心 ) [6] => Array ( [time] => 2019-03-23 04:10:16 [ftime] => 2019-03-23 04:10:16 [context] => 到达【杭州二枢纽邮件处理中心】(经转) [location] => 杭州二枢纽邮件处理中心 ) [7] => Array ( [time] => 2019-03-21 06:42:28 [ftime] => 2019-03-21 06:42:28 [context] => 离开【邮政哈尔滨邮件转运分局江北省际车间】,下一站【杭州二枢纽邮件处理中心】 [location] => 邮政哈尔滨邮件转运分局江北省际车间 ) [8] => Array ( [time] => 2019-03-20 17:51:00 [ftime] => 2019-03-20 17:51:00 [context] => 到达【邮政哈尔滨邮件转运分局江北省际车间】 [location] => 邮政哈尔滨邮件转运分局江北省际车间 ) [9] => Array ( [time] => 2019-03-20 15:43:46 [ftime] => 2019-03-20 15:43:46 [context] => 离开【哈市电商】,下一站【哈市松北】 [location] => 哈市电商 ) [10] => Array ( [time] => 2019-03-20 14:30:41 [ftime] => 2019-03-20 14:30:41 [context] => 哈尔滨 【哈市电商】已收件,揽投员:王锦海12333333333 [location] => 哈市电商 ) )
处理其中的data二位数据,foreach即可:
//输出json中的数据; foreach ($resp["data"] as $key => $v) { echo "到达时间:".$resp["data"][$key]['time']."<br>"; echo "处理时间:".$resp["data"][$key]['ftime']."<br>"; echo "处理中心:".$resp["data"][$key]['context']."<br>"; echo "到达网点:".$resp["data"][$key]['location']."<hr>"; }
如果要正常显示,选择header(“Content-type:text/html;charset=utf-8”);文件头
相关文章推荐
- PHP下使用CURL方式POST数据至API接口的方法
- PHP下使用CURL方式POST数据至API接口的代码
- PHP下使用CURL方式POST数据至API接口的方法
- PHP下使用CURL方式POST数据至API接口的代码
- PHP下使用CURL方式POST数据至API接口的代码
- 接口规范,js处理json,php返回给ajax的数据格式
- 使用 PHP的curl扩展提交 json 格式数据
- php中使用curl发送JSON数据
- PHP 使用curl库来发送GET,POST请求,处理json格式数据
- php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
- 解析PHP 使用curl提交json格式数据
- php api 接口输出json 数据
- php中使用curl来post一段json数据
- php使用curl发送json格式数据实例
- 【php中的curl】使用curl完成POST数据给飞信接口
- 【php中的curl】使用curl完成POST数据给飞信接口
- PHP 使用 curl 提交 json 格式数据(已实践 可行)
- PHP模拟POST提交数据并获得返回值之CURL方法(使用PHP extension,然后使用php_curl.dll,很不错)
- PHP 使用 curl 提交 json 格式数据
- Datawindow通过Json接口实现数据操作时(三层)PHP5.2 json_encode时发现汉字转换成了\u表示的处理方法