java 调用阿里云中通快递查询示例
获取接口的使用权限
首先在阿里云市场找到地址:https://market.aliyun.com/products/57126001/cmapi023201.html
点击立即购买即可免费获得试用权限。
获取密钥的三种方式
查看密钥方式1:可以直接在购买完成后查看
查看密钥方式2:可以在地址页面右上角买家中心-控制台查看
查看密钥方式3:可以直接打开控制台地址,https://market.console.aliyun.com/
以上可以直接复制可用
接口调用
调用地址:http(s)://wdexpress.market.alicloudapi.com/gxali
请求方式:GET
返回类型:JSON
请求参数
名称 |
类型 |
是否必须 |
描述 |
---|---|---|---|
n |
STRING |
必选 |
快递单号 |
t |
STRING |
可选 |
可不填,自动识别,这里调用中通快递使用t=zto |
示例代码
package com.aliyun.test;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.UnknownHostException;
import java.util.List;
import java.util.Map;public class Tools {public static void main(String[] args) {String host = "https://wdexpress.market.alicloudapi.com"; String path = "/gxali"; String appcode = "你自己的AppCode"; String t = "ZTO"; String n = "780098068058";String urlSend = host + path + "?n=" + n + "&t="+ t; try {URL url = new URL(urlSend);HttpURLConnection httpURLCon = (HttpURLConnection) url.openConnection();httpURLCon.setRequestProperty("Authorization", "APPCODE " + appcode);int httpCode = httpURLCon.getResponseCode();if (httpCode == 200) {String json = read(httpURLCon.getInputStream());System.out.println("正常请求计费(其他均不计费)");System.out.println("获取返回的json:");System.out.print(json);} else {Map<String, List<String>> map = httpURLCon.getHeaderFields();String error = map.get("X-Ca-Error-Message").get(0);if (httpCode == 400 && error.equals("Invalid AppCode `not exists`")) {System.out.println("AppCode错误 ");} else if (httpCode == 400 && error.equals("Invalid Url")) {System.out.println("请求的 Method、Path 或者环境错误");} else if (httpCode == 400 && error.equals("Invalid Param Location")) {System.out.println("参数错误");} else if (httpCode == 403 && error.equals("Unauthorized")) {System.out.println("服务未被授权(或URL和Path不正确)");} else if (httpCode == 403 && error.equals("Quota Exhausted")) {System.out.println("套餐包次数用完 ");} else if (httpCode == 403 && error.equals("Api Market Subscription quota exhausted")) {System.out.println("套餐包次数用完,请续购套餐");} else {System.out.println("参数名错误 或 其他错误");System.out.println(error);}}} catch (MalformedURLException e) {System.out.println("URL格式错误");} catch (UnknownHostException e) {System.out.println("URL地址错误");} catch (Exception e) {// 打开注释查看详细报错异常信息// e.printStackTrace();}}/** 读取返回结果*/private static String read(InputStream is) throws IOException {StringBuffer sb = new StringBuffer();BufferedReader br = new BufferedReader(new InputStreamReader(is));String line = null;while ((line = br.readLine()) != null) {line = new String(line.getBytes(), "utf-8");sb.append(line);}br.close();return sb.toString();}
}
调用返回
{"LogisticCode":"780098068058","ShipperCode":"ZTO","Traces":[{"AcceptStation":"【广州市】 【广州花都】(020-37738523) 的 马溪 (18998345739) 已揽收","AcceptTime":"2018-03-07 00:01:55"},{"AcceptStation":"【广州市】 快件离开 【广州花都】 发往 【石家庄中转】","AcceptTime":"2018-03-07 00:40:57"},{"AcceptStation":"【广州市】 快件到达 【广州中心】","AcceptTime":"2018-03-07 01:36:53"},{"AcceptStation":"【广州市】 快件离开 【广州中心】 发往 【石家庄】","AcceptTime":"2018-03-07 01:38:45"},{"AcceptStation":"【石家庄市】 快件到达 【石家庄】","AcceptTime":"2018-03-08 21:00:44"},{"AcceptStation":"【石家庄市】 快件离开 【石家庄】 发往 【长安三部】","AcceptTime":"2018-03-08 23:43:44"},{"AcceptStation":"【石家庄市】 快件已到达 【长安三部】(0311-85344265),业务员 容晓光(13081105270) 正在第1次派件, 请保持电话畅通,并耐心等待","AcceptTime":"2018-03-09 09:03:10"},{"AcceptStation":"【石家庄市】 快件已在 【长安三部】 签收,签收人: 本人, 感谢使用中通快递,期待再次为您服务!","AcceptTime":"2018-03-09 11:59:26"}],"State":"3","Success":true,"Courier":"容晓光","CourierPhone":"13081105270","updateTime":"2019-08-27 13:56:19","takeTime":"2天20小时14分","Name":"中通快递","Site":"www.zto.com","Phone":"95311","Logo":"https://img3.fegine.com/express/zto.jpg","Reason":"查询成功"
}
返回的信息还是非常全面的
java 调用阿里云中通快递查询示例相关推荐
- Java调用阿里云OSS下载文件
1.准备工作 具体细节参考Java调用阿里云oss_迷途知返-的博客-CSDN博客_java使用阿里云oss. 2.项目需求 我这里只需要根据文件名称把文件从oss下载下来即可,参考阿里云官网指导:下 ...
- 使用HttpClient实现申通快递查询
现在网络上有许多网站都提供快递查询功能,集国内外常用快递为一体,免去了记忆各快递公司网址的麻烦,给人们生活带来一点点改便捷. 呵呵,据说的有站长还靠这个赚钱,不过此处并不讲如何进行网赚,只是谈一下如何 ...
- win 8 store app 免费中通快递查询 隐私声明
免费中通快递查询 隐私声明: 1.我们不会收集和使用你的个人信息. 2.用户使用我们的服务,应遵守国家有关法律法规和规章制度. 3.用户在使用过程中遇到任何问题,可以通过评论与评分将建议反馈给我们,我 ...
- Java调用阿里云短信接口,发送短信
Java调用阿里云短信接口,发送短信 1.短信服务这个很简单,只需要知道accessKeyId(AK).accessKeySecret(SK).短信签名.短信模板即可. 2.域名和产品名称是固定的,使 ...
- 调用阿里云人脸识别接口示例
下面我为大家展示一下我调用阿里云人脸识别接口的示例 首先说下开发环境,springboot 开发的 org.apache.commons.codec.binary.Base64; 这个主要是用来进行b ...
- 使用java调用阿里云车牌识别API
实现车牌识别功能我采用调用阿里云车牌识别API的方法,我使用的是eclipse,jdk 1.8,Tomcat 9.0 1.进入阿里云主页先创建阿里云账号 2.在控制台的头像那里找到AccessKey管 ...
- PHP get数据 curl实现 申通快递查询
<meta charset="UTF-8"/> <!-- 让网页使用 UTF8 编码 --> <?php/*** @param $url String ...
- java调用阿里云api发送短信验证服务
1.先在maven构建需要的jar包 <dependency><groupId>com.aliyun</groupId><artifactId>aliy ...
- python3:调用阿里云小蜜代码示例
最近有一个项目需要调用阿里云小蜜,我就拿python调用了一下,然后在官网居然没有找到很好的sample code.就只能自己硬着头皮写一下啦 import base64 import urllib. ...
- api调用实例python_调用阿里云API 的demo示例(java/python)
Java 示例 // 创建DefaultAcsClient实例并初始化 DefaultProfile profile = DefaultProfile.getProfile(vo.getAliRegi ...
最新文章
- STM32 LWIP TCP 数据包分包后合并,超过591字节后分会分包问题
- R语言入门系列-软件下载,环境搭建,数据导入导出
- 科大星云诗社动态20210207
- boost::exchange的测试程序
- 只读属性怎么来的初值_设置Mysql表只读,关键时刻或许能救你一命
- 经典面试题(11):关于变量提升,以下代码将输出什么?
- Java中的Map List Set等集合类
- 【Redis】Redis 事务
- VSFTPD 安装与配置
- myEclipse配置java版本(环境、项目、编译)
- 计算机图形学完整笔记(二):光栅图形学算法
- SplitContainer控件的理解
- 深入理解java虚拟机(4)---类加载机制
- Linux:冯诺伊曼体系结构 | 操作系统 | 显卡 | 主板
- 文字符号设计方法整理1--笔画字形(体)处理方法
- python绘制子图技巧——plt.subplot和plt.subplots、及坐标轴修改
- python 天勤 金叉 编程代码_GitHub - Oscar201106/tqsdk-python: 天勤量化开发包, 期货量化, 实时行情/历史数据/实盘交易...
- word 标尺排版使用技巧
- (七) carla真实世界坐标系与全局俯视地图像素坐标系变换
- WinSCP登陆服务器提示收到了太大的SFTP包 支持的最大包大小1024000B