Heim  >  Artikel  >  php教程  >  PHP 通过单号查询快递( 申通、EMS、顺丰、圆通、中通、韵达、天

PHP 通过单号查询快递( 申通、EMS、顺丰、圆通、中通、韵达、天

WBOY
WBOYOriginal
2016-06-06 19:47:132459Durchsuche

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, a


<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 的博客

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn