PHP中使用CURL获得快递100API接口JSON数据的文件头处理方案

简介: PHP中使用CURL获得快递100API接口JSON数据的文件头处理方案

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”);文件头


相关文章
|
2月前
|
Web App开发 JSON JavaScript
SAP UI5 应用程序小技巧 - 一键将 JSON 对象导出成本地 json 文件
SAP UI5 应用程序小技巧 - 一键将 JSON 对象导出成本地 json 文件
25 0
|
1月前
|
存储 JSON Apache
揭秘 Variant 数据类型:灵活应对半结构化数据,JSON查询提速超 8 倍,存储空间节省 65%
在最新发布的阿里云数据库 SelectDB 的内核 Apache Doris 2.1 新版本中,我们引入了全新的数据类型 Variant,对半结构化数据分析能力进行了全面增强。无需提前在表结构中定义具体的列,彻底改变了 Doris 过去基于 String、JSONB 等行存类型的存储和查询方式。
揭秘 Variant 数据类型:灵活应对半结构化数据,JSON查询提速超 8 倍,存储空间节省 65%
|
1月前
|
JSON 前端开发 数据格式
vue-cli3读取本地json文件
vue-cli3读取本地json文件
53 1
|
2月前
|
编解码 JavaScript 前端开发
TypeScript【第三方声明文件、自定义声明文件、tsconfig.json文件简介、tsconfig.json 文件结构与配置】(六)-全面详解(学习总结---从入门到深化)
TypeScript【第三方声明文件、自定义声明文件、tsconfig.json文件简介、tsconfig.json 文件结构与配置】(六)-全面详解(学习总结---从入门到深化)
65 0
|
5天前
|
JSON 数据可视化 定位技术
python_将包含汉字的字典数据写入json(将datav的全省数据中的贵州区域数据取出来)
python_将包含汉字的字典数据写入json(将datav的全省数据中的贵州区域数据取出来)
11 0
|
10天前
|
XML JSON API
快速淘宝商品详情页面API接口传输 php
PI(Application Programming Interface,应用程序接口)是一组预定义的函数、协议和工具,用于构建软件应用程序之间的交互。它允许不同的软件系统和应用通过统一的接口进行数据交换和通信
|
18天前
|
存储 JSON JavaScript
「Python系列」Python JSON数据解析
在Python中解析JSON数据通常使用`json`模块。`json`模块提供了将JSON格式的数据转换为Python对象(如列表、字典等)以及将Python对象转换为JSON格式的数据的方法。
33 0
|
21天前
|
存储 JSON 数据挖掘
python逐行读取txt文本中的json数据,并进行处理
Python代码示例演示了如何读取txt文件中的JSON数据并处理。首先,逐行打开文件,然后使用`json.loads()`解析每一行。接着,处理JSON数据,如打印特定字段`name`。异常处理包括捕获`JSONDecodeError`和`KeyError`,确保数据有效性和字段完整性。将`data.txt`替换为实际文件路径运行示例。
14 2
|
1月前
|
JSON 数据格式
糊涂工具类(hutool)post请求设置body参数为json数据
糊涂工具类(hutool)post请求设置body参数为json数据
93 1
|
1月前
|
JSON 前端开发 数据格式
Ajax传递json数据
Ajax传递json数据
11 0