java物流查询接口测试代码-快递100

测试代码

返回json格式,xml/html格式自行修改参数

 1 import java.io.IOException;
 2 import java.io.InputStream;
 3 import java.net.MalformedURLException;
 4 import java.net.URL;
 5 import java.net.URLConnection;
 6 
 7 public class kuaidi100 {
 8 
 9     public static void main(String[] agrs) {
10         String wuLiu = getWuLiu("huitongkuaidi", "*********");
11         System.out.println(wuLiu);
12     }
13     /**
14      * 
15      * @author 
16      * @date 
17      * @param com 快递公司代码
18      * @param nu 物流单号
19      * @return
20      */
21     public static String getWuLiu(String com,String nu){
22         String content = null;
23         try {
24             /*id:身份授权key,需要申请(此处的key为本人在网上查询)
25             com:要查询的快递公司代码,不支持中文,自行查看官方文档
26             nu:要查询的快递单号,请勿带特殊符号,不支持中文(大小写不敏感)
27             show:返回类型:
28                 0:返回json字符串,
29                 1:返回xml对象,
30                 2:返回html对象,
31                 3:返回text文本。
32                 如果不填,默认返回json字符串。
33             muti:返回信息数量:
34                 1:返回多行完整的信息,
35                 0:只返回一行信息。
36                 不填默认返回多行。
37             order:排序:
38                 desc:按时间由新到旧排列,
39                 asc:按时间由旧到新排列。
40                 不填默认返回倒序(大小写不敏感)*/ 
41             URL url = new URL(
42                     "http://api.kuaidi100.com/api?id=29833628d495d7a5&com="+com+"&nu="+nu+"&show=0&muti=1&order=desc");
43             URLConnection con = url.openConnection();
44             con.setAllowUserInteraction(false);
45             InputStream urlStream = url.openStream();
46             String type = con.guessContentTypeFromStream(urlStream);
47             String charSet = null;
48             if (type == null)
49                 type = con.getContentType();
50             //此处的“text/json”与您在show中选择的要一致!!!
51             if (type == null || type.trim().length() == 0 || type.trim().indexOf("text/json") < 0){
52                 return "";
53             }
54             if (type.indexOf("charset=") > 0)
55                 charSet = type.substring(type.indexOf("charset=") + 8);
56 
57             byte b[] = new byte[10000];
58             int numRead = urlStream.read(b);
59             content = new String(b, 0, numRead);
60             while (numRead != -1) {
61                 numRead = urlStream.read(b);
62                 if (numRead != -1) {
63                     String newContent = new String(b, 0, numRead, charSet);
64                     content += newContent;
65                 }
66             }
67             urlStream.close();
68         } catch (MalformedURLException e) {
69             e.printStackTrace();
70         } catch (IOException e) {
71             e.printStackTrace();
72         }
73         return content;
74     }
75 
76 }

返回json格式

{
"message":"ok","status":"1","state":"3","data":[
  {"time":"2012-07-07 13:35:14","context":"客户已签收"},
  {"time":"2012-07-07 09:10:10","context":"离开[北京石景山营业厅]派送中,递送员[温],电话[]"},
  {"time":"2012-07-06 19:46:38","context":"到达[北京石景山营业厅]"},
  {"time":"2012-07-06 15:22:32","context":"离开[北京石景山营业厅]派送中,递送员[温],电话[]"},
  {"time":"2012-07-06 15:05:00","context":"到达[北京石景山营业厅]"},
  {"time":"2012-07-06 13:37:52","context":"离开[北京_同城中转站]发往[北京石景山营业厅]"},
  {"time":"2012-07-06 12:54:41","context":"到达[北京_同城中转站]"},
  {"time":"2012-07-06 11:11:03","context":"离开[北京运转中心驻站班组] 发往[北京_同城中转站]"},
  {"time":"2012-07-06 10:43:21","context":"到达[北京运转中心驻站班组]"},
  {"time":"2012-07-05 21:18:53","context":"离开[福建_厦门支公司] 发往 [北京运转中心_航空]"},
  {"time":"2012-07-05 20:07:27","context":"已取件,到达 [福建_厦门支公司]"}
]}
原文地址:https://www.cnblogs.com/zhanglingbing/p/8524587.html