之前有做的公司项目需要用到物流查询的接口,我在网上找了挺多的资料,后来自己整理了一下,具体的实现步骤如下
之前有介绍过一些单号接口的应用, 在这里介绍一下快递鸟查询接口的简单应用,再次封装一个cURL发送方法写出:如果不想用这个函数,也可以使用file_get_content() 方法效果一致。在这里,我们来使用cURL方法来实现
技术文档请参考快递鸟官网api:https://www.kdniao.com/api-track

(一)接入流程:
1>.注册快递鸟账号,
API_ID:XXXXXX
API_KEY:XXXXXXXXXXXXXXXXXX
2>.服务申请
在个人中心里面申请需要的服务,即时查询功能有免费的服务
3>.对接服务
写自己的业务逻辑----本文主体
4>.测试代码
5>.正式使用
项目搭建
打开Eclipse,创建一个Dynamic Web Project ,命名KDAPI。

可根据自己的需求,建立以下的几个文件:

其中KdniaoTrackQueryApi中的文件是我们从官方进行下载的即时查询的demo源文件,直接进行复制即可,不过在后续我们会对其进行一些更改。

我们把KdniaoTrackQueryApi中的main方法剪切并粘贴在Query文件中,输入一个快递公司的编码和快递号进行查询,并查看结果。

这个时候的结果很显然是不尽人意的,因为JSON的形式不利于用户的观看,所以我们在web查询页面进行展示的时候,还需要对其进行转变,使普通用户也可以很方便的查看快递信息。

所以我们再来对KdniaoTrackQueryApi文件中的getOrderTracesByJson方法进行改造。删除最后的return result,并添加如下代码:

String show = "";try {JSONObject obj = JSONObject.parseObject(result);boolean bool = obj.getBooleanValue("Success");if (!bool) {show = "暂时无法查询到该物流轨迹信息。";} else {JSONArray arr = obj.getJSONArray("Traces");for (int i = 0; i < arr.size(); i++) {JSONObject o = (JSONObject) arr.get(i);show = show + o.getString("AcceptTime") + "<br/>";show = show + o.getString("AcceptStation") + "<br/><br/>";}}}catch (Exception e) {e.printStackTrace();}       return show;

之后,基本就可以正常显示了。
由于用户ID和API秘钥比较私密(如果你花钱购买了增值服务的话),所以就需要用一个api.properties文件存储我们的信息,然后在文件中读取即可。
以上内容完成后,我们就可以创建一个Servlet文件来处理请求了。
那么请求都应该包含哪些内容呢?根据快递鸟官方提供的即时查询的API,我们可以发现只需要提供两个内容即可——快递公司编码和快递单号,那么前端的布局就产生了。
建立index.jsp,在jsp文件中创建一个表单(用来把数据传到Servlet中,因为目前我只会这一种传输方法,所以就只能用这个了),嵌套一个input的text输入传输快递单号。
因为我们是试用版的用户,所以我们只有四种快递可以选,那么我们就选择四个单选按钮来传输快递公司的值。
接受这些内容之后,我们在Servlet中执行以下方法即可:

response.setContentType("text/html;charset=utf-8");KdniaoTrackQueryAPI api = new KdniaoTrackQueryAPI();String expCode = request.getParameter("type");String expNo = request.getParameter("searchArea");String res = null;try {res = api.getOrderTracesByJson(expCode, expNo);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}response.getWriter().write(res);

效果展示
圆通快递

韵达快递

关于物流快递单号查询API接口的实现相关推荐

  1. 常用物流快递单号查询API接口对接net源码示例_快递鸟

    零售电商平台及ISV商家对物流api接口的需求有很多,今天我们主要分享的就是快递鸟快递单号查询接口的对接指南,快递单号查询接口对接的应用场景有很多,很多场景会遇到,最主要的就是电商网站用户打开&quo ...

  2. 物流快递单号查询api接口PHP快递鸟免费对接

    源码地址:快递查询api接口地址 接口源码包示例图: 使用方法: 安装: composer require zhenge/kdniao 配置: 在.env文件中添加 KDNIAO_EBUSSINESS ...

  3. 免费快递单号查询api接口对接调用(PHP示例)

    快递鸟集成快递单号查询API接口,可以同时对接顺丰快递查询,中通.申通.圆通.韵达.百世.EMS等国内外418家物流快递公司接口查询等.这些快递物流企业,提供了快递单号自动识别接口,快递单号查询接口等 ...

  4. php快递鸟单号查询api接口免费对接调用

    快递鸟集成快递单号查询API接口,可以同时对接顺丰快递查询,中通.申通.圆通.韵达.百世.EMS等国内外418家物流快递公司接口查询等.这些快递物流企业,提供了快递单号自动识别接口,快递单号查询接口等 ...

  5. 顺丰快递单号查询API接口调试demo【快递100API接口】

    顺丰目前提供了两种对接方式: 一种是开发者自助对接,需要注册丰桥账户后,申请成为开发者,再根据顺丰要求对接,整个流程较为繁琐: 还有一种方式就是通过第三方快递单号查询API接口服务商对接(例如快递10 ...

  6. 快递单号查询API接口对接net源码示例_快递鸟

    零售电商平台及ISV商家对物流api接口的需求有很多,今天我们主要分享的就是快递鸟快递单号查询接口的对接指南,快递单号查询接口对接的应用场景有很多,很多场景会遇到,最主要的就是电商网站用户打开&quo ...

  7. 快递单号查询API接口对接Java源码示例_快递鸟

    零售电商平台及ISV商家对物流api接口的需求有很多,今天我们主要分享的就是快递鸟快递单号查询接口的对接指南,快递单号查询接口对接的应用场景有很多,很多场景会遇到,最主要的就是电商网站用户打开&quo ...

  8. 顺丰快递单号查询API接口调试demo-快递鸟API接口

    快递鸟快递单号查询API接口,供小程序.APP.需实时返回物流轨迹信息即查即走,快递查询将提供输入运单编号立即获取物流最新轨迹,无需快递编码,自动识别物流公司,返回物流轨迹. 一.功能说明 实时查询: ...

  9. 使用 Python对接快递鸟快递单号查询api接口查找快递信息

    源码地址:GitHub - iGordongwb/kdniao: 根据快递单号查找快递信息 接口源码包示例图: 快递单号识别api接口 使用工具: python3 快递鸟api 快递鸟官网 api文档 ...

最新文章

  1. Science:又一明星菌群可以调控肠道免疫?
  2. C++知识点13——友元,类的声明
  3. SQL优化(二) 快速计算Distinct Count
  4. 第五届“达观杯”自然语言处理文本分类竞赛开启报名,丰厚奖金等你来战!...
  5. accessdeniedexception: 不允许访问_一招解决JDK9以上非法反射访问警告
  6. 【Java心得总结六】Java容器中——Collection
  7. [html] 如何实现默认显示git的第一帧图片,当鼠标经过时,播放完整的gif动画
  8. java 单文件上传_java – JIRA中的单个文件上传
  9. C# 学生信息管理系统 2.0
  10. 几何元素网页设计的力量,让人眼前一亮
  11. VS code报错:Launch options string provided by the project system id invalid.
  12. centos安装中文支持(转)
  13. shp格式详解(一)
  14. 网络安全如何影响seo
  15. vue 实现定位到当前位置
  16. python并发编程gevent模块以及猴子补丁学习
  17. 电脑屏幕亮度变暗、动态对比度问题,解决方法汇总
  18. 第一次用HTML设计表格,以及使用百度脑图的感受
  19. 剑气纵横-autojs动画
  20. CentOS 7.8 (2003) 发布,附下载地址

热门文章

  1. oracle _hash partition,深入解析partition-hash分区
  2. 玩转Service Mesh微服务熔断、限流骚操作
  3. 个税专项附加扣除政策
  4. U盘重装系统教程与电脑开机密码清除
  5. C# enum Flags
  6. 超详细!XGBoost原理介绍
  7. Vue项目中使用Svg矢量图标
  8. 推荐几位优质原创公众号
  9. python打印26个字母的四种方法
  10. 实验五 数据库完整性(详细解释+错误修正版)