当前位置: 首页 > news >正文

快递鸟 即时查询接口

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1.参考快递鸟官方文档http://www.kdniao.com/api-all

2.快递查询代码如下,我是放在TP框架第三方类库里的

<?php

class Logistics{
	
	private $EBusinessID = '';//电商ID 请填写自己的
	private $AppKey = 'da3f362a-8d86-435d-8e93-8fae1dbe8a0a';//电商加密私钥,快递鸟提供,注意保管,不要泄漏
	private $ReqURL = 'http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx';//请求url
	
	/**
	* Json方式  物流信息订阅	
	* @param $ordercode 订单编号  $shippercode  快递公司编码	$logisticcode  物流单号
	*/
	function logistics($ordercode,$shippercode,$logisticcode){
		//测试接口:http://testapi.kdniao.cc:8081/Ebusiness/EbusinessOrderHandle.aspx
		//测试电商ID==1237100,AppKey==518a73d8-1f7f-441a-b644-33e77b49d846
		
		$data = array(
				'OrderCode'		=> $ordercode,
				'ShipperCode'	=> $shippercode,
				'LogisticCode'	=> $logisticcode
		);
		$data = json_encode($data);
		
		$parameter = array(
				'EBusinessID' => $this -> EBusinessID,
				'RequestType' => '1002',
				'RequestData' => urlencode($data),
				'DataType'    => '2',
		);
	
		$parameter['DataSign'] = $this -> encrypt($data,$this -> AppKey);
	
		$result = $this -> sendPost($this -> ReqURL, $parameter);
		
		//根据公司业务处理返回的信息......
		$result = json_decode($result,true);
		return $result;
		
	
	}
	
	/**
	* post提交数据
	* @param  string $url 请求Url
	* @param  array $datas 提交的数据
	* @return url响应返回的html
	*/
	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;
	}
	
	/**
	* 电商Sign签名生成
	* @param data 内容
	* @param appkey Appkey
	* @return DataSign签名
	*/
	function encrypt($data, $appkey) {
		return urlencode(base64_encode(md5($data.$appkey)));
	}
}

3.在需要的地方直接调用代码即可

        vendor('Kdniao.Logistics');
		$Logistics = new \Logistics();
		$data = $Logistics -> logistics('1234','YD','3907850221005');	

 

转载于:https://my.oschina.net/u/2518388/blog/1518137

相关文章:

  • mySql基础
  • MySQL存储过程、触发器 小例子
  • Linux历史及版本
  • Java面试宝典《转载》
  • Android 03 style简单介绍
  • 黑客学习之信息收集
  • 安卓屏幕旋转时,禁止Activity重新加载
  • Selenium发展史
  • scala一些符号含义总结
  • Java内部类详解
  • tomcat配置、resin配置、MySQL主从配置
  • 代理
  • NetBIOS主机名扫描工具nbtscan
  • python开启进程的两种方法
  • getsebool命令详解
  • SegmentFault for Android 3.0 发布
  • #Java异常处理
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • Date型的使用
  • Golang-长连接-状态推送
  • JAVA_NIO系列——Channel和Buffer详解
  • JavaScript的使用你知道几种?(上)
  • leetcode46 Permutation 排列组合
  • mysql 数据库四种事务隔离级别
  • PAT A1017 优先队列
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 近期前端发展计划
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 聊聊flink的BlobWriter
  • 如何胜任知名企业的商业数据分析师?
  • 阿里云ACE认证之理解CDN技术
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • ​ubuntu下安装kvm虚拟机
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #QT(一种朴素的计算器实现方法)
  • $.ajax中的eval及dataType
  • (0)Nginx 功能特性
  • (2)(2.10) LTM telemetry
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (三分钟)速览传统边缘检测算子
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .NET CORE Aws S3 使用
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .NET6 开发一个检查某些状态持续多长时间的类
  • // an array of int
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [AutoSar]状态管理(五)Dcm与BswM、EcuM的复位实现
  • [FZSZOJ 1223] 上海红茶馆
  • [HXPCTF 2021]includer‘s revenge
  • [IE编程] 了解Urlmon.dll和Wininet.dll
  • [luogu4162 SCOI2009] 最长距离(最短路)