package cn.jeesoft.mvc.helper; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import cn.jeesoft.core.model.Kuaidi100Info; import cn.jeesoft.core.util.HttpUtil; import com.alibaba.fastjson.JSON; /** * 圆通快递单号:9225856722 * * https://code.google.com/p/kuaidi-api/wiki/Open_API_API_URL * @author huangf * */ public class kuaidi100Helper { public static Kuaidi100Info selectKuaidi100(){ try { String response = HttpUtil.get("http://api.kuaidi100.com/api?id=7fdd7136ff90ef2d&com=yunda&nu=1201205716323&valicode=&show=0&muti=1&order=desc",null,"UTF-8"); System.out.println("response = "+response); Kuaidi100Info info = JSON.parseObject(response, Kuaidi100Info.class); // logger.error(info.getData().toString()); System.out.println(info.toString()); return info; } catch (Exception e) { e.printStackTrace(); } return null; } public static void main(String[] agrs) throws Exception{ // if(true){ // String sHtmlText = "<?xml version=\"1.0\" encoding=\"utf-8\"?><alipay><is_success>F</is_success><error>TRADE_NOT_EXIST</error></alipay>"; // // selectKuaidi100(); // //解析支付宝返回的XML // Document doc = DocumentHelper.parseText(sHtmlText ); // System.out.println("selectSingleNode="+doc.selectSingleNode("//is_success")); // // return ; // } if(1==2){ String response = HttpUtil.get("http://127.0.0.1:8080/myshopFront/kuaidi100JSON.jsp",null,"UTF-8"); System.out.println("response = "+response); Kuaidi100Info info = JSON.parseObject(response, Kuaidi100Info.class); System.out.println(info.getData().toString()); // Map map = JSON.toJavaObject(JSON.parseObject(response), Map.class); // Map<String,Object> map = (Map<String, Object>) JSON.parse(response); // logger.error("map = "+map.get("data")); // // List<Kuaidi100Info> list = (List<Kuaidi100Info>) map.get("data"); // logger.error("list="+list.size()); // for(int i=0;i<list.size();i++){ // logger.error(list.get(i).toString()); // } return; } try { //9225856722 //韵达 单号1201092278342,没有查到相关信息。单号暂未收录或已过期 //http://api.kuaidi100.com/api?id=b64b5b6a00ad44f8&com=yunda&nu=1201092278342&show=2&muti=1&order=desc //快递公司网络异常,请稍后查询. //http://api.kuaidi100.com/api?id=b64b5b6a00ad44f8&com=shunfeng&nu=688558133773&show=0&muti=1&order=desc // URL url = new URL("http://api.kuaidi100.com/api?id=b64b5b6a00ad44f8&com=yuantong&nu=9225856722&show=2&muti=1&order=desc"); URL url = new URL("http://api.kuaidi100.com/api?id=7fdd7136ff90ef2d&com=yunda&nu=1201205716323&valicode=&show=0&muti=1&order=desc"); 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 || type.trim().indexOf("text/html") < 0) return; 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); while (numRead != -1) { numRead = urlStream.read(b); if (numRead != -1) { // String newContent = new String(b, 0, numRead); String newContent = new String(b, 0, numRead, charSet); content += newContent; } } System.out.println("content:" + content); urlStream.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }