123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307 |
- package com.iamberry.rst.utils;
- import net.sf.json.JSONObject;
- import org.springframework.stereotype.Component;
- import java.io.IOException;
- import java.io.InputStream;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.net.URLConnection;
- @Component
- public class KuaiDi100 {
- private static String key = "29833628d495d7a5";
-
-
- public String logisticsConversions(String code){
- if(code == null || code.equals("")){
- return null;
- }
- switch (code){
- case "sto":
- code = "shentong";
- break;
- case "yto":
- code = "yuantong";
- break;
- case "sf":
- code = "shunfeng";
- break;
- case "ems":
- code = "ems";
- break;
- case "eyb":
- code = "ems";
- break;
- case "zto":
- code = "zhongtong";
- break;
- case "zjs":
- code = "zhaijisong";
- break;
- case "yunda":
- code = "yunda";
- break;
- case "cces":
- code = "cces";
- break;
- case "pick":
- code = "pick";
- break;
- case "htky":
- code = "huitongkuaidi";
- break;
- case "ttkdex":
- code = "tiantian";
- break;
- case "stars":
- code = "xingchenjibian";
- break;
- case "jd":
- code = "jd";
- break;
- case "01":
- code = "01";
- break;
- case "02":
- code = "01";
- break;
- case "dbkd":
- code = "debangwuliu";
- break;
- case "lianhaowuliu":
- code = "lianhaowuliu";
- break;
- }
- return code;
- }
-
- public static void main(String[] agrs){
- KuaiDi100 kuaidi = new KuaiDi100();
- System.out.println(kuaidi.getExpressInfo("ems","9754210807242"));
- }
-
- public JSONObject getExpressInfo(String com , String nu){
- JSONObject ret = null;
- try
- {
- com = logisticsConversions(com);
- StringBuilder sb = new StringBuilder();
- sb.append("http://api.kuaidi100.com/api?id=");
- sb.append(KuaiDi100.key);
- sb.append("&com=").append(com);
- sb.append("&nu=").append(nu);
- sb.append("&show=0&muti=1&order=desc");
- URL url= new URL(sb.toString());
- URLConnection con=url.openConnection();
- con.setAllowUserInteraction(false);
- InputStream urlStream = url.openStream();
- String type = con.guessContentTypeFromStream(urlStream);
- String charSet=null;
- if (type == null)
- type = con.getContentType();
- if (type == null || type.trim().length() == 0)
- return null;
- if(type.indexOf("charset=") > 0)
- charSet = type.substring(type.indexOf("charset=") + 8);
- byte b[] = new byte[10000];
- int numRead = urlStream.read(b);
- String content = new String(b, 0, numRead, "UTF-8");
- while (numRead != -1) {
- numRead = urlStream.read(b);
- if (numRead != -1) {
-
- String newContent = new String(b, 0, numRead, "UTF-8");
- content += newContent;
- }
- }
- content = content.replaceAll(":null", ":\"\"");
- ret = JSONObject.fromObject(content);
- System.out.println(ret);
- urlStream.close();
- } catch (MalformedURLException e)
- {
- e.printStackTrace();
- } catch (IOException e)
- {
- e.printStackTrace();
- }
- return ret;
- }
-
- public static String searchkuaiDiInfo(String com, String nu)
- {
- String content = "";
- try
- {
- StringBuilder sb = new StringBuilder();
- sb.append("http://www.kuaidi100.com/applyurl?key=").append(KuaiDi100.key);
- sb.append("&com=").append(com);
- sb.append("&nu=").append(nu);
- URL url = new URL(sb.toString());
- URLConnection con = url.openConnection();
- con.setAllowUserInteraction(false);
- InputStream urlStream = url.openStream();
- byte b[] = new byte[10000];
- int numRead = urlStream.read(b);
- content = new String(b, 0, numRead);
- while (numRead != -1)
- {
- numRead = urlStream.read(b);
- if (numRead != -1)
- {
-
- String newContent = new String(b, 0, numRead, "UTF-8");
- content += newContent;
- }
- }
- urlStream.close();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- System.out.println("快递查询错误");
- }
- return content;
- }
-
- public static String replace(String code) {
- String name = "";
- switch (code){
- case "sto":
- name= "申通快递";
- break;
- case "yto":
- name= "圆通快递";
- break;
- case "zto":
- name= "中通速递";
- break;
- case "sf":
- name= "顺丰快递";
- break;
- case "ems":
- name= "邮政EMS";
- break;
- case "eyb":
- name= "E邮宝";
- break;
- case "zjs":
- name= "宅急送";
- break;
- case "yunda":
- name= "韵达快递";
- break;
- case "cces":
- name= "cces快递";
- break;
- case "pick":
- name= "上门提货";
- break;
- case "htky":
- name= "汇通快递";
- break;
- case "ttkdex":
- name= "天天快递";
- break;
- case "stars":
- name= "星晨急便";
- break;
- case "jd":
- name= "京东快递";
- break;
- case "01":
- name= "其他";
- break;
- case "02":
- name= "上门送货";
- break;
- case "lbwl":
- name= "龙邦快递";
- break;
- default:
- break;
- case "dbkd":
- name = "德邦快递";
- break;
- }
- return name;
- }
-
- public String getPostFirm(String firm) {
- String postFirm = "";
- switch (firm) {
- case "sto":postFirm = "申通快递";break;
- case "yto":postFirm = "圆通快递";break;
- case "sf":postFirm = "顺丰快递";break;
- case "ems":postFirm = "邮政EMS";break;
- case "zto":postFirm = "中通快递";break;
- case "zjs":postFirm = "宅急送";break;
- case "yunda":postFirm = "韵达快递";break;
- case "cces":postFirm = "cces快递";break;
- case "pick":postFirm = "上门提货";break;
- case "htky":postFirm = "汇通快递";break;
- case "ttkdex":postFirm = "天天快递";break;
- case "stars":postFirm = "星晨急便";break;
- case "jd":postFirm = "京东快递";break;
- case "01":postFirm = "其他";break;
- case "02":postFirm = "上门送货";break;
- case "dbkd":postFirm = "德邦快递";break;
- default:postFirm = "申通快递";break;
- }
- return postFirm;
- }
- }
|