基于快递100 写的,快递查询快捷嵌入商城项目

这篇博客介绍了如何不依赖快递100的API授权,利用其API开发快递查询功能并嵌入到电商网站中。内容包括参考网站介绍、关键代码展示(kuaidiUtils)、pojo类定义(KuaiDi, KuaiDi_Data)、调用方法、前台jsp展示(kuaidi.jsp)以及必要的css样式和图片资源。" 50931626,2092351,混合APP页面历史记录管理:解决复杂回退逻辑,"['混合app开发', '页面管理', '路由控制', '导航', '移动端开发']
摘要由CSDN通过智能技术生成

声明:此嵌入方式基于快递100 api 开发而成,不依赖快递100授权,如有侵权行为,请留言,我会尽快删除。

1、如何不依赖api授权,我参考以下网站:

电商网站接入快递查询

2、接下来上代码:kuaidiUtils


/**
 * 快递查询工具类
 * 这里只收集了几个常用的快递公司,如有需要,可自行丰富     、网络请求用的Apache  的httpclient 4.+ 需要的可在google搜索,一大堆免费的
 * @author  Administrator
 *
 */
public class KuaiDiUtil {
   
    private static final String HUITONGKUAIDI = "百世汇通";
    private static final String EMS = "EMS";
    private static final String huitongkuaidi = "汇通快运";
    private static final String QUANFENGKUAIDI = "全峰快递";
    private static final String SHENTONG = "申通快递";
    private static final String SHUNFENG = "顺丰快递";
    private static final String TIANTIAN = "天天快递";
    private static final String YUANTONG = "圆通速递";
    private static final String YUNDA = "韵达快运";
    private static final String ZHONGTONG = "中通速递";
    private static final String KUAIJIESUDI = "快捷速递";
    private static final String URL = "https://m.kuaidi100.com/query";
    private static final String[] CODM = new String[]{
  "HUITONGKUAIDI","EMS","huitongkuaidi","QUANFENGKUAIDI","SHENTONG","SHUNFENG","TIANTIAN","YUANTONG","YUNDA","ZHONGTONG","KUAIJIESUDI"};
    private static final String[] COMC = new String[]{HUITONGKUAIDI,EMS,huitongkuaidi,QUANFENGKUAIDI,SHENTONG,SHUNFENG,TIANTIAN,YUANTONG,YUNDA,ZHONGTONG,KUAIJIESUDI};


    public static void main(String[] args) {
        System.out.println(getKDList().toString());
    }

    /**
     * 根据快递公司名称获取快递公司编码
     */
    public static String getCONumByCOName(String COName) {
        switch (COName) {
        case HUITONGKUAIDI:
            return "HUITONGKUAIDI";
        case EMS:
            return "EMS";
        case huitongkuaidi:
            return "huitongkuaidi";
        case QUANFENGKUAIDI:
            return "QUANFENGKUAIDI";
        case SHENTONG:
            return "SHENTONG";
        case SHUNFENG:
            return "SHUNFENG";
        case TIANTIAN:
            return "TIANTIAN";
        case YUANTONG:
            return "YUANTONG";
        case YUNDA:
            return "YUNDA";
        case ZHONGTONG:
            return "ZHONGTONG";
        case KUAIJIESUDI:
            return "KUAIJIESUDI";
        }
        return "";
    }


    /**
     * 根据快递公司编码获取快递公司名称
     */
    public static String getCONameByCONum(String CONum) {
        switch (CONum) {
        case "HUITONGKUAIDI":
            return HUITONGKUAIDI;
        case "EMS":
            return EMS;
        case "huitongkuaidi":
            return huitongkuaidi;
        case "QUANFENGKUAIDI":
            return QUANFENGKUAIDI;
        case "SHENTONG":
            return SHENTONG;
        case "SHUNFENG":
            return SHUNFENG;
        case "TIANTIAN":
            return TIANTIAN;
        case "YUANTONG":
            return YUANTONG;
        case "YUNDA":
            return YUNDA;
        case "ZHONGTONG":
            return ZHONGTONG;
        case "KUAIJIESUDI":
            return KUAIJIESUDI;
        }
        return "";
    }


    /**
     * 获取快递公司编码和快递公司名称的map
     */
    public static List<Map<String, String>> getKDList() {
        List<Map<String, String>> kdList = new ArrayList<>();
        Map<String, String> kdMap=null;
        for(int i =0;i<CODM.length;i++){
             kdMap = new LinkedHashMap<>();
             kdMap.put("codm", CODM[i]);
             kdMap.put("comc", COMC[i]);
             kdList.add(kdMap);
        }
        return kdList;
    }


    /**
     * 根据快递公司名称和物流单号查询物流信息
     */
    public static KuaiDi getWlInfo(String _COName, String _WLDNum) {
        if (Validate.isNull(_COName) || Validate.isNull(_WLDNum)){
            throw new Error("[快递公司名称] 或 [快递单号]不能为空");

        }else {
            if(Validate.isNull(getCONumByCOName(_COName))){
                throw new Error("[快递公司名称] 转 [快递公司代码] 时发生异常:根据[快递公司名称]找不到对应的[快递公司代码]");

            }else{
                String codm =getCONumByCOName(_COName);
                String result = sendGet(codm, _WLDNum);
                KuaiDi kd =  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值