网上的物流快递查询接口有很多,但是大部分都比较麻烦。所以这里介绍一个比较简单的查询方法,不需要对接友情链接,免费获取api接口技术文档以及demo
主要是利用 快递鸟的免费查询api接口:
地址:http://www.kdniao.com/reg
快递公司编号,技术文档对接都可以下载
如果是在Python中可以直接调用request来发起请求,但是在java中,还是第一次调用请求,所以查了一些资料。
实例
以下部分代码,参考自:工具类 | JAVA发送HTTP请求,并接受返回内容
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.security.MessageDigest;
import java.util.HashMap;
import java.util.Map;
/**
*
* 单日超过500单查询量,建议接入物流轨迹订阅推送接口
*
*/
public class KdniaoTrackQueryAPI {
//DEMO
public static void main(String[] args) {
KdniaoTrackQueryAPI api = new KdniaoTrackQueryAPI();
try {
String result = api.getOrderTracesByJson("ANE", "210001633605");
System.out.print(result);
} catch (Exception e) {
e.printStackTrace();
}
}
//电商ID
private String EBusinessID="申请";
//电商加密私钥,注意保管,不要泄漏
private String AppKey="申请";
//请求url
private String ReqURL="http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx";
/**
* Json方式 查询订单物流轨迹
* @throws Exception
*/
public String getOrderTracesByJson(String expCode, String expNo) throws Exception{
String requestData= "{'OrderCode':'','ShipperCode':'" + expCode + "','LogisticCode':'" + expNo + "'}";
Map<String, String> params = new HashMap<String, String>();
params.put("RequestData", urlEncoder(requestData, "UT