huimins123 2016-07-19 12:13 采纳率: 100%
浏览 2967
已采纳

怎么用java做一个快递查询类的接口?

准备做一个电商平台,想接入一个快递查询类的接口,能提供免费的代码么?要基于java平台的,谢谢!

  • 写回答

2条回答 默认 最新

  • huimins123 2016-07-19 12:21
    关注

    这是我在快递网上找到的快递查询接口
    下面是JAVA代码:
    package com.kuaidi.openapi;
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.List;
    import java.util.Map;

    public class Openapi {

    private String app_key = "";
    
    private String api_url = "http://api.kuaidi.com/openapi.html?";
    
    private String show = "0";
    
    private String muti = "0";
    
    private String order = "desc";
    
    /**
     * 您获得的快递网接口查询KEY。
     * 
     * @param app_key
     * 
     */
    public void setApp_key(String app_key) {
        this.app_key = app_key;
    }
    
    /**
     * 设置数据返回类型。0: 返回 json 字符串; 1:返回 xml 对象
     * 
     * @param show
     * 
     */
    public void setShow(String show) {
        this.show = show;
    }
    
    /**
     * 设置返回物流信息条目数, 0:返回多行完整的信息; 1:只返回一行信息
     * 
     * @param muti
     * 
     */
    public void setMuti(String muti) {
        this.muti = muti;
    }
    
    /**
     * 设置返回物流信息排序。desc:按时间由新到旧排列; asc:按时间由旧到新排列
     * 
     * @param order
     * 
     */
    public void setOrder(String order) {
        this.order = order;
    }
    
    /**
     * 
     * @param nu
     * @param exname
     * @return result
     */
    public String query(String nu, String exname) {
        String sign = "id=" + app_key + "&com=" + exname + "&nu=" + nu + "&show=" + show + "&muti=" + muti + "&order="
                + order;
        String result = sendGet(api_url + sign);
        return result;
    }
    
    /**
     * 向指定URL发送GET方法的请求
     * 
     * @param url
     *            发送请求的URL
     * @return URL 所代表远程资源的响应结果
     */
    private static String sendGet(String url) {
        String result = "";
        BufferedReader in = null;
        try {
            URL realUrl = new URL(url);
            // 打开和URL之间的连接
            URLConnection connection = realUrl.openConnection();
            // 设置通用的请求属性
            connection.setRequestProperty("accept", "*/*");
            connection.setRequestProperty("connection", "Keep-Alive");
            connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
            // 建立实际的连接
            connection.connect();
    
            // 定义 BufferedReader输入流来读取URL的响应
            in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }
        } catch (Exception e) {
            System.out.println("发送GET请求出现异常!" + e);
            e.printStackTrace();
        }
        // 使用finally块来关闭输入流
        finally {
            try {
                if (in != null) {
                    in.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
        return result;
    }
    

    }

    1.例子:
    package com.kuaidi.openapi;

    public class OpenapiExample {

    private static String key="************";//官网申请的key
    
    public static void main(String[] args){
        Openapi o = new Openapi();
        o.setApp_key(key);
        String result =o.query("111111", "quanfengkuaidi");
        System.out.println(result);
    }
    

    }

    以上代码很简单吧,快递查询接口代码就全部写完了,希望对你有帮助,你可以去他们官网上直接申请,接入到你的电商平台上。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?