PHP快递接口API

<?php
header("Content-type:text/html;charset=utf-8");
/**
 *  Express.class.php           快递查询类
 *
 * @copyright            chzeze
 * @lastmodify            2015-10-27
 */

class Express {

    private $expressname =array(); //封装了快递名称

    function __construct(){
        $this->expressname = $this->expressname();
    }

    /*
     * 采集网页内容的方法
     */
    private function getcontent($url){
        if(function_exists("file_get_contents")){
            $file_contents = file_get_contents($url);
        }else{
            $ch = curl_init();
            $timeout = 5;
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
            $file_contents = curl_exec($ch);
            curl_close($ch);
        }
        return $file_contents;
    }
    /*
     * 获取对应名称和对应传值的方法
     */
    private function expressname(){
        $result = $this->getcontent("http://www.kuaidi100.com/");
        //爬取快递名称对应的快递代码
        preg_match_all("/data\-code\=\"(?P<name_code>\w+)\"\>(?P<name>.*)\<\/a>/iU",$result,$data);//(?P<name>)正则匹配存储字符
        $name = array();
        //var_dump($data[‘name‘]);
        //echo "<br>";
        foreach($data[‘name‘] as $k=>$v){
            $name[$v] =$data[‘name_code‘][$k];//例:$name[中通]=zhontong
            echo "[".$v."]=".$name[$v]."<br>";//获取快递编码
        }
        echo "一次查询"."<br>";
        return $name;
    }

    /*
     * 解析object成数组的方法
     * @param $json 输入的object数组
     * return $data 数组
     */
    private function json_array($json){
        if($json){
            foreach ((array)$json as $k=>$v){
                $data[$k] = !is_string($v)?$this->json_array($v):$v;
            }
            return $data;
        }
    }

    /*
     * 返回$data array      快递数组
     * @param $name         快递名称
     * 支持输入的快递名称如下
     * (申通-EMS-顺丰-圆通-中通-如风达-韵达-天天-汇通-全峰-德邦-宅急送-安信达-包裹平邮-邦送物流
     * DHL快递-大田物流-德邦物流-EMS国内-EMS国际-E邮宝-凡客配送-国通快递-挂号信-共速达-国际小包
     * 汇通快递-华宇物流-汇强快递-佳吉快运-佳怡物流-加拿大邮政-快捷速递-龙邦速递-联邦快递-联昊通
     * 能达速递-如风达-瑞典邮政-全一快递-全峰快递-全日通-申通快递-顺丰快递-速尔快递-TNT快递-天天快递
     * 天地华宇-UPS快递-新邦物流-新蛋物流-香港邮政-圆通快递-韵达快递-邮政包裹-优速快递-中通快递)
     * 中铁快运-宅急送-中邮物流
     * @param $order        快递的单号
     * $data[‘ischeck‘] ==1   已经签收
     * $data[‘data‘]        快递实时查询的状态 array
     */
    public  function getorder($name,$order){
        $keywords = $this->expressname[$name];
        //var_dump($keywords);
        $result = $this->getcontent("http://www.kuaidi100.com/query?type={$keywords}&postid={$order}");
        $result = json_decode($result);
        $data = $this->json_array($result);
        return $data;
    }
}
$a = new Express();
$result = $a->getorder("顺丰",688625443900);
var_dump($result);
/*for($num=688625443009;$num<=688625443999;$num++)
{
    $result = $a->getorder("顺丰",$num);
    var_dump($result);
    echo "<br>";
}*/
?>
时间: 10-25

PHP快递接口API的相关文章

快递查询API接口对接方法

各类接口 快递查询API有即时查询和订阅查询两种,即时是请求即返回数据,订阅则是订阅快递单号到接口,有物流轨迹更新则全量返回数据.目前常用的有快递鸟.快递100.快递网等. 快递鸟即时API可以查询3000次,3000以上接订阅接口,统一接口模式接入,常用快递均支持查询,还有订阅API.在线下单API.电子面单API,接口均不收取费用,没有要求用户添加外链,支持418家国内外快递物流查询. 快递100每天可以免费查询2000次,超过2000次收费,每次0.06~0.1元不等,如果查询的量大的话可

php 快递查询api接口笔记

1 <?php 2 include_once("../includes/global.php"); 3 @include_once("../config/logistics_config.php"); 4 5 $api_id = $logistics_config['logistic_app_id']?$logistics_config['logistic_app_id']:""; 6 $api_sceret = $logistics_co

各种快递查询Api接口(快递鸟)

前提 应用场景 可实现需求 申请Key 快递查询Api接口 接口文档及各开发语言Demo 查询Api接口定义 系统级输入参数 应用级输入参数 返回结果参数 请求JSON参数 响应JSON参数 查询Api接口使用 温馨提示 前提 项目开发中,有些需求难免会用到关于快递的一些Api接口:本篇主要介绍的是快递的查询Api及与其他各家的不同之处: 常用的提供快递Api接口的有: 快递鸟 快递100 爱查快递 等等 如大家使用过,快递100和爱查快递等等网站提供的快递查询等接口时,你会发现,你所申请的账号

简单快递查询接口API插件下载和安装说明

电商实现物流轨迹查询是通过对接接口或者安装插件就可以实现了 插件安装方法如下 安装办法 第1步:申请授权KEY 本插件是php通用版本,适用php5.2及以上版本:快递鸟提供的免费快递查询API,对接前需在快递鸟官网申请账号注册获取ID和秘钥 . 第2步:录入授权Key (1)拿到授权KEY后,用记事本.写字板或EditPlus等文本编辑工具,打开插件\plugins\kdniao下的kdniao_config.php 文件. (2)找到define('EBusinessID', '******

免费顺丰快递单号查询电子面单api接口对接【快递鸟API】

顺丰速运快递查询接口API和电子面单接口怎么对接?除了通过顺丰自己的接口对接外,用的最多的就是第三方通过快递鸟对接了,通过顺丰单号和手机号后四位查询轨迹信息,如果是通过快递鸟下单获得的顺丰单号,可通过单号直接查询,具体下载快递鸟接口技术文档查看接口说明.ShipperCode为SF,且快递单号非快递鸟渠道返回时,必填,对应收件人/寄件人手机号后四位:ShipperCode为SF,且快递单号为快递鸟渠道返回时,不填. 一.接入前准备(TO商家业务人员) 1.申请快递鸟用户ID和API key1.1

电商平台适用基础快递查询api接口对接demo解决方案

电商企业从接收订单-配货-打印快递单到后期的快递员收件-快递配送-轨迹查询-签收短信通知等,都需要快递接口的接入.整理目前可以实现如上服务的有 1.各家快递公司:提供快递查询.电子面单打印等2.快递100:提供在线寄件.快递查询等3.菜鸟:提供快递查询.电子面单打印等4.快递鸟:提供预约寄件.快递查询.电子面单打印.代收货款.短信服务等 各家快递公司提供的是一级接口,快递100.菜鸟和快递鸟是集成接口,对于使用快递比较多的企业来说,集成接口相对更好维护一些.所以一般电商都会选择集成的接口.快递鸟

Java查询快递物流信息api接口写法【免费】

效果图: 快递查询API接口是使用的物流单号即可实现实时查询物流信息.主要应用在电商商城.ERP系统商.WMS系统商.快递柜.银行等企业.多家快递物流公司接口统一接入,建议对接接口提供商,一次性可以接入多家快递,在后期的技术维护也会省下很多工作. 目前快递查询API接口有两种实现方式,一种是主动查询,一种是订阅接口推送数据.以快递鸟接口为例(接口对接需要接口秘钥,这里用的是测试的,不能够正式使用,可以到快递鸟官网申请,是免费申请秘钥的)最后会附有一个的demo,更多demo语言可登陆快递鸟网站查

圆通快递单号查询接口物流路由跟踪信息快递鸟api对接教程

看完快递鸟api对接教程这篇文章,然后把源码复制到你的项目上,就能快速完成圆通快递接口对接.更适合刚入门的菜鸟,调用快递鸟的圆通快递查询API接口,能查询到圆通快递单号从收件.运输,到转运中心,派送到签收等各个环节的物流发货状态.快递鸟api接口不区分开发语言,支持Java,C#,PHP,Python,ObjectC等开发语言的程序调用.下面具体讲解实现过程. 1.完成前期准备工作 1.1,去快递鸟官网免费注册一个账号 1.2,免费获得一个apiKey(接口权限验证需要), 获取用户ID和Api

中通快递-单号查询接口-物流路由跟踪信息快递鸟api对接教程

前言 看完快递鸟api对接教程这篇文章,然后把源码复制到你的项目上,就能快速完成中通快递接口对接.更适合刚入门的菜鸟,调用快递鸟的中通快递查询API接口,能查询到中通快递单号从收件.运输,到转运中心,派送到签收等各个环节的物流发货状态.快递鸟api接口不区分开发语言,支持Java,C#,PHP,Python,ObjectC等开发语言的程序调用.下面具体讲解实现过程. 目录 1.完成前期准备工作 2.API接口 3.请求参数(Headers) 4.请求参数(Body) 5.返回参数(Return)