PHP 通过单号查询快递( 申通、EMS、顺丰、圆通、中通、韵达、天天、汇通、全峰、德邦、宅急送)

2 篇文章 0 订阅
2 篇文章 0 订阅

<meta charset="UTF-8"/> <!-- 让网页使用 UTF8 编码 -->
<?php

/**
 * @author ipqhjjybj
 * @data : 20131231
 * 新年幸福!!!
 */
/**
 * @param $url String
 * @param array $post
 * @param array $options
 * @return mixed at most json
 */
function curl_get($url, array $post = NULL, array $options = array())
{
    $defaults = array(
        CURLOPT_HEADER => 0,
        CURLOPT_URL => $url,
        CURLOPT_FRESH_CONNECT => 1,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_FORBID_REUSE => 1,
        CURLOPT_TIMEOUT => 4,
        CURLOPT_POSTFIELDS => http_build_query($post)
    );

    $ch = curl_init();
    curl_setopt_array($ch, ($options + $defaults));
    if( ! $result = curl_exec($ch))
    {
        trigger_error(curl_error($ch));
    }
    curl_close($ch);
    return $result;
}

//正确的返回格式  JSON
/**
 * {"message":"ok","state":"3","data":[{"context":"已签收,签收人是【本人】",
 * "time":"2013-12-15 11:02:26","ftime":"2013-12-15 11:02:26"},{"context":"
 * 【湖南长沙雨花分公司】的派件员【林大自取分部82177562 电话(82171562)】正在派件",
 * "time":"2013-12-14 21:43:38","ftime":"2013-12-14 21:43:38"},{"context":
 * "快件已到达【湖南长沙雨花分公司】 扫描员是【汤建敏】上一站是【】","time":"2013-12-14
 * 17:19:52","ftime":"2013-12-14 17:19:52"},{"context":"由【湖南长沙航空部】发往
 * 【湖南长沙雨花分公司】","time":"2013-12-14 16:26:36","ftime":"2013-12-14 16:26:36"}
 * ,{"context":"【浙江萧山公司】正在进行【装袋】扫描","time":"2013-12-12 18:59:17",
 * "ftime":"2013-12-12 18:59:17"},{"context":"由【浙江萧山公司】发往【湖南长沙中转部】"
 * ,"time":"2013-12-12 18:59:17","ftime":"2013-12-12 18:59:17"},{"context":"【浙江萧山公司】
 * 的收件员【公司汉帛 】已收件","time":"2013-12-12 18:20:47","ftime":"2013-12-12 18:20:47"},
 * {"context":"【浙江萧山公司】的收件员【公司汉帛 】已收件","time":"2013-12-12
 * 14:56:21","ftime":"2013-12-12 14:56:21"}],"status":"200","com":"shentong","nu":
 * "768064369802","condition":"F00","ischeck":"1"}
 */
//正确放回的格式  JSON
/**
 * {"message":"ok","state":"3",
 * "data":[{"context":"微山县付村邮电支局:投递并签收
 * 投递结果:他人签收代收","time":"2013-12-17 15:42:00",
 * "ftime":"2013-12-17 15:42:00"},{"context":"微山县付村邮电支局:投递并签收",
 * "time":"2013-12-17 09:47:00","ftime":"2013-12-17 09:47:00"}
 * ,{"context":"微山县邮政局速递公司:离开处理中心,发往微山县付村邮电支局",
 * "time":"2013-12-16 18:38:56","ftime":"2013-12-16 18:38:56"},
 * {"context":"微山县邮政局速递公司:到达处理中心,来自金华市","time":"
 * 2013-12-16 17:27:18","ftime":"2013-12-16 17:27:18"},{"context":
 * "金华市:离开处理中心,发往枣庄市","time":"2013-12-14 23:57:43","ftime":
 * "2013-12-14 23:57:43"},{"context":"金华市:到达处理中心,来自义乌市",
 * "time":"2013-12-14 22:51:02","ftime":"2013-12-14 22:51:02"},
 * {"context":"义乌市义乌市电子商务分公司:收寄","time":"2013-12-14 15:00:00",
 * "ftime":"2013-12-14 15:00:00"}],"status":"200","com":"ems","nu":"5000655082802",
 * "condition":"F00","ischeck":"1"}
 */
//错误的格式    JSON
/**
 * {"status":"201","message":"快递公司参数异常:单号不存在或者已经过期"}
 */
/**
 * @param string $postid  快递单号
 * @param string $type  快递类型
 * shentong  ---> 申通
 * ems    ---> EMS
 * shunfeng   --> 顺丰
 * yuantong  -->  圆通
 * zhongtong  --> 中通
 * yunda   -->  韵达
 * tiantian   --->  天天快递
 * huitongkuaidi  -->  汇通快递
 * quanfengkuaidi  -->   全峰快递
 * debangwuliu    -->   德邦物流
 * zhaijisong    -->   宅急送
 * @return mixed  json格式
 */
function Dquery($postid = "268323324324" , $type = "shentong")
{
    $post_data = array (
        "type" => $type,
        "postid" => $postid ,
        "id" => "1",
        "valicode" => "",
        "temp" => "0.7771608149632812"
    ) ;
    $url ='http://www.kuaidi100.com/query';
    return curl_get($url,$post_data);
}
/**
 * 申通快递
 * @param string $postid String  快递单号
 * @return mixed at most json
 */
function shentong($postid = "768064369802")
{
    return Dquery($postid,"shentong");
}


/**
 * EMS
 * @param string $postid 快递单号
 * @return mixed JSON
 */
function EMS($postid = "5000655082802")
{
    return Dquery($postid,"ems");
}
/**
 * 顺丰快递
 * @param string $postid 快递单号
 * @return mixed JSON
 */
function shunfeng($postid = "370270606236")
{
    return Dquery($postid,"shunfeng");
}
/**
 * 圆通快递
 * @param string $postid 快递单号
 * @return mixed JSON
 */
function yuantong($postid = "9149223354")
{
    return Dquery($postid,"yuantong");
}
/**
 * 中通快递
 * @param string $postid 快递单号
 * @return mixed JSON
 */
function zhongtong($postid = "778179380478")
{
    return Dquery($postid,"zhongtong");
}
/**
 * 韵达快递
 * @param string $postid 快递单号
 * @return mixed JSON
 */
function yunda($postid = "1201030121554")
{
    return Dquery($postid,"yunda");
}
/**
 * 天天快递
 * @param string $postid 快递单号
 * @return mixed JSON
 */
function tiantian($postid = "580054419316")
{
    return Dquery($postid,"tiantian");
}
/**
 * 汇通快递
 * @param string $postid 快递单号
 * @return mixed JSON
 */
function huitongkuaidi($postid="210322948150")
{
    return Dquery($postid,"huitongkuaidi");
}
/**
 * 全峰快递
 * @param string $postid 快递单号
 * @return mixed JSON
 */
function quanfengkuaidi($postid="340003662547")
{
    return Dquery($postid,"quanfengkuaidi");
}
/**
 * 德邦物流
 * @param string $postid 快递单号
 * @return mixed JSON
 */
function debangwuliu($postid="16312048")
{
    return Dquery($postid,"debangwuliu");
}
/**
 * 宅急送
 * @param string $postid 快递单号
 * @return mixed JSON
 */
function chaijisong($postid = "3332776112")
{
    return Dquery($postid,"zhaijisong");
}

//Debug  这里是调用时的 debug,最好再加个订单号。
//放回格式都是json喔。。  记得解析
//print_r(json_decode(shentong()));
//echo EMS();
//echo shunfeng();
//echo yuantong();
//echo zhongtong();
//echo yunda();
//echo tiantian();
//echo huitongkuaidi();
//echo quanfengkuaidi();
//echo debangwuliu();
?>





没什么好说的==注释很详细了。。


哎呀虽然是我写的代码。但因此使用造成的经济纠纷之类的请不要找我!!!!


转载请注明出处  http://hlyblog.net/?p=86

或者注明来自 csdn  ipqhjjybj 的博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值