通过快递鸟查询快递信息

1.注册后成功后进行实名认证
2…结合php的demo和文档(以即时查询为例)
通过快递鸟查询快递信息_第1张图片
选择php版本下载:
通过快递鸟查询快递信息_第2张图片
3.经简单整合如下调用getMessage即可:

/** 获取快递单号信息接口
* @param $ShipperCode 快递编码  德邦:DBL  韵达:YD
* @param $LogisticCode 快递单号
* @return string
*/
public function getMessage($ShipperCode, $LogisticCode)
{
    $requestData = "{'OrderCode': '',
        'ShipperCode':'$ShipperCode',//快递编码
        'LogisticCode':'$LogisticCode'//快递单号
  }";
    $datas = array(
        'EBusinessID' => '用户id',//用户id
        'RequestType' => '1002',//请求指令类型
        'RequestData' => urlencode($requestData),
        'DataType' => '2',
    );
    $datas['DataSign'] = $this->encrypt($requestData, "你的API key");
    $result = $this->sendPost("http://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx", $datas);
    $result = json_decode($result, true);
    return $result;
}


function sendPost($url, $datas)
{
    $temps = array();
    foreach ($datas as $key => $value) {
        $temps[] = sprintf('%s=%s', $key, $value);
    }
    $post_data = implode('&', $temps);
    $url_info = parse_url($url);
    if (empty($url_info['port'])) {
        $url_info['port'] = 80;
    }
    $httpheader = "POST " . $url_info['path'] . " HTTP/1.0\r\n";
    $httpheader .= "Host:" . $url_info['host'] . "\r\n";
    $httpheader .= "Content-Type:application/x-www-form-urlencoded\r\n";
    $httpheader .= "Content-Length:" . strlen($post_data) . "\r\n";
    $httpheader .= "Connection:close\r\n\r\n";
    $httpheader .= $post_data;
    $fd = fsockopen($url_info['host'], $url_info['port']);
    fwrite($fd, $httpheader);
    $gets = "";
    $headerFlag = true;
    while (!feof($fd)) {
        if (($header = @fgets($fd)) && ($header == "\r\n" || $header == "\n")) {
            break;
        }
    }
    while (!feof($fd)) {
        $gets .= fread($fd, 128);
    }
    fclose($fd);


    return $gets;
}


public function encrypt($data, $appkey)
{
    return urlencode(base64_encode(md5($data . $appkey)));
}

4.结果如下:
通过快递鸟查询快递信息_第3张图片

你可能感兴趣的:(第三方接口,laravel)