博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过快递api获取物流信息示例-快递100
阅读量:7039 次
发布时间:2019-06-28

本文共 2951 字,大约阅读时间需要 9 分钟。

hot3.png

import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.commons.lang3.StringUtils;import org.apache.http.HttpResponse;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpUriRequest;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;import org.apache.http.protocol.BasicHttpContext;import org.apache.http.protocol.HttpContext;import org.apache.http.util.EntityUtils;import com.aliyun.openservices.shade.com.alibaba.rocketmq.shade.com.alibaba.fastjson.JSON;import com.aliyun.openservices.shade.com.alibaba.rocketmq.shade.com.alibaba.fastjson.JSONArray;import com.aliyun.openservices.shade.com.alibaba.rocketmq.shade.com.alibaba.fastjson.JSONObject;public class Kuaidi100 {private String get(String url) throws ClientProtocolException, IOException{        DefaultHttpClient httpClient = new DefaultHttpClient(new ThreadSafeClientConnManager());        HttpGet httpGet = new HttpGet(url);        HttpUriRequest request = null;        request = httpGet;        HttpContext localContext = new BasicHttpContext();        HttpResponse response = httpClient.execute(request, localContext);        return EntityUtils.toString(response.getEntity());    }public List
> queryLogisticsInfoByKuadi100(String trackingNo) { try { if(StringUtils.isBlank(trackingNo)){ return null; } // 1.通过快递单号获取是哪个快递公司。 String typeResult = this.get("http://www.kuaidi100.com/autonumber/autoComNum?text="+trackingNo); JSONObject typeJsonObject = (JSONObject)JSON.parse(typeResult); JSONArray typeDataArray = (JSONArray) typeJsonObject.get("auto"); if(typeDataArray.isEmpty()){ return null; } JSONObject typeObject = (JSONObject)typeDataArray.get(0); String type = typeObject.getString("comCode"); // 2.通过快递公司及快递单号获取物流信息。 String kuaidiResult = this.get("http://www.kuaidi100.com/query?type="+type+"&postid="+trackingNo); JSONObject jsonObject = (JSONObject)JSON.parse(kuaidiResult); String status = jsonObject.getString("status"); if(!"200".equals(status)){ return null; } List
> list = new ArrayList
>(); JSONArray dataArray = (JSONArray) jsonObject.get("data"); for (int i = 0; i < dataArray.size(); i++) { Map
tempMap = new HashMap
(); JSONObject temp = (JSONObject) dataArray.get(i); tempMap.put("date", (String) temp.get("time")); tempMap.put("logisticsInfo", (String) temp.get("context")); list.add(tempMap); } return list; } catch (Exception e) { e.printStackTrace(); return null; } }}

 

转载于:https://my.oschina.net/u/2862573/blog/2050901

你可能感兴趣的文章
MySQL主从的一致性校验及修复
查看>>
Win8安装截图
查看>>
elasticsearch best_fields most_fields cross_fields从内在实现看区别——本质就是前两者是以field为中心,后者是词条为中心...
查看>>
php 解析时间字符串
查看>>
我的微博
查看>>
Mysql用户、权限管理
查看>>
4.C#.Net重写 TryParse方法
查看>>
Linux常用命令
查看>>
Android Intent Action 大全
查看>>
HTML5小游戏--CoreBall
查看>>
【安全杀毒】ClamAV的部署使用
查看>>
【每日一记3.16】python学习记录2--字符串方法
查看>>
TCP协议通讯工作原理
查看>>
iOS-自定义图片大小
查看>>
深入理解javascript原型和闭包(8)——简述【执行上下文】上
查看>>
CockroachDB分布式事务解密(一):CockroachDB & HLC
查看>>
搭建NFS环境
查看>>
【python程序设计】程序控制#181021
查看>>
mysql 表的增删改
查看>>
bash 快捷键
查看>>