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


相关文章
|
16天前
|
人工智能 关系型数据库 MySQL
数据魔力,一触即发 —— Dataphin数据服务API,百炼插件新星降临!
本文通过一个利用百炼大模型平台和Dataphin数据服务API构建一个客户360智能应用的案例,介绍如何使用Dataphin数据服务API在百炼平台创建一个自定义插件,用于智能应用的开发,提升企业智能化应用水平。
数据魔力,一触即发 —— Dataphin数据服务API,百炼插件新星降临!
|
13天前
|
XML 数据可视化 API
商品详情数据实战案例,API接口系列
淘宝商品详情数据在电商领域具有广泛的应用价值,而淘宝商品详情API接口则为开发者提供了获取这些数据的重要途径。通过合理利用这些接口和数据,可以提升业务效率、优化用户体验,为电商行业的发展注入新的活力。
|
14天前
|
API PHP 数据库
PHP中哪个框架最适合做API?
在数字化时代,API作为软件应用间通信的桥梁至关重要。本文探讨了PHP中适合API开发的主流框架,包括Laravel、Symfony、Lumen、Slim、Yii和Phalcon,分析了它们的特点和优势,帮助开发者选择合适的框架,提高开发效率、保证接口稳定性和安全性。
36 3
|
17天前
|
SQL 缓存 API
在API接口数据获取过程中,如何确保数据的安全性和隐私性?
在API接口数据获取过程中,确保数据的安全性和隐私性至关重要。本文介绍了身份认证与授权、防止SQL注入和XSS攻击、加密传输、API版本控制、限流与熔断、压力测试与性能优化、备份与恢复以及法律和伦理考量等关键措施,帮助开发者和管理者有效保护API接口的数据安全和隐私性。
|
16天前
|
XML JSON API
【PHP开发专栏】PHP RESTful API设计与开发
随着互联网技术的发展,前后端分离成为Web开发的主流模式。本文介绍RESTful API的基本概念、设计原则及在PHP中的实现方法。RESTful API是一种轻量级、无状态的接口设计风格,通过HTTP方法(GET、POST、PUT、DELETE)操作资源,使用JSON或XML格式传输数据。在PHP中,通过定义路由、创建控制器、处理HTTP请求和响应等步骤实现RESTful API,并强调了安全性的重要性。
22 2
|
17天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
21天前
|
JSON 缓存 前端开发
PHP如何高效地处理JSON数据:从编码到解码
在现代Web开发中,JSON已成为数据交换的标准格式。本文探讨了PHP如何高效处理JSON数据,包括编码和解码的过程。通过简化数据结构、使用优化选项、缓存机制及合理设置解码参数等方法,可以显著提升JSON处理的性能,确保系统快速稳定运行。
|
24天前
|
前端开发 JavaScript API
探索GraphQL:如何构建高效的数据API
【10月更文挑战第25天】在现代Web开发中,API的效率和灵活性至关重要。本文探讨了如何利用GraphQL构建高效的数据API。GraphQL通过声明式查询方式,允许客户端精确指定所需数据,减少数据传输量,提高API效率。文章介绍了设置GraphQL服务器、设计API Schema、实现解析函数及调整前后端交互的具体步骤,展示了GraphQL的优势和应用场景。
33 2
|
29天前
|
缓存 监控 测试技术
获取API接口数据的最佳实践详解
在开发过程中,与API进行交互是获取数据和服务的关键步骤。本文详细介绍了10个最佳实践,包括明确需求和文档、错误处理、数据验证、性能优化、安全性、日志和监控、版本控制、代码复用和维护、测试以及遵守法律和道德规范,帮助开发者更高效地从API获取数据,确保数据的准确性、安全性和性能。
|
28天前
|
存储 数据可视化 API
API接口数据获取流程的细化
本文概述了API的基础知识、获取API访问权限的方法、编写代码调用API的步骤、数据处理与分析技巧以及数据安全与合规的重要性,并提供了社交媒体数据分析、天气预报应用和电商数据分析等API数据获取的应用实例,旨在帮助读者全面了解和实践API接口数据获取的流程。
下一篇
无影云桌面