HttpClient 实现 快递100 快递查询

Express-Query

本工程使用快递100 查询链接实现,用到了HttpClient以及Gson。详细工程可见本人GitHub。工程仅供学习,禁止商业使用。


主要使用的是快递100官方提供的查询api

//先查询该单号所属快递商
http://www.kuaidi100.com/autonumber/autoComNum?text=快递单号

//返回的json样例
{
    "comCode": "",
    "num": "单号",
    "auto": [
        {
            "comCode": "huitongkuaidi",
            "id": "",
            "noCount": 8132,
            "noPre": "711426",
            "startTime": ""
        },
        {
            "comCode": "baishiwuliu",
            "id": "",
            "noCount": 49,
            "noPre": "711426",
            "startTime": ""
        }
    ]
}

auto数组中每一个对象,都是可能的快递商信息,一般第一个为可能性最大的

comCode为快递商的代号,其余的我们不管 2333

//再通过快递商代号以及快递单号查询具体的物流信息
http://www.kuaidi100.com/query?type=快递商代号&postid=快递单号

//返回的json样例
{
    "message": "ok",
    "nu": "单号",
    "ischeck": "1",
    "condition": "F00",
    "com": "shunfeng",
    "status": "200",
    "state": "3",
    "data": [
        {
            "time": "2017-09-12 02:07:33",
            "ftime": "2017-09-12 02:07:33",
            "context": "快件到达 【长沙星沙集散中心】",
            "location": ""
        },
        {
            "time": "2017-09-11 20:23:36",
            "ftime": "2017-09-11 20:23:36",
            "context": "快件在【湘西】已装车,准备发往 【长沙星沙集散中心】",
            "location": ""
        },
        {
            "time": "2017-09-11 19:54:40",
            "ftime": "2017-09-11 19:54:40",
            "context": "快件到达 【湘西】",
            "location": ""
        },
        {
            "time": "2017-09-11 17:54:33",
            "ftime": "2017-09-11 17:54:33",
            "context": "快件在【湘西自治州凤凰县金坪路营业点】已装车,准备发往 【湘西】",
            "location": ""
        },
        {
            "time": "2017-09-11 14:07:08",
            "ftime": "2017-09-11 14:07:08",
            "context": "顺丰速运 已收取快件",
            "location": ""
        }
    ]
}

message:ok 表示没有问题,否则有错误信息

nu:快递单号

ischeck:1表示成功,0表示错误

com:即comCode,快递商编号

data:详细快递信息数组

time:到达时间

ftime:到达时间(不是很懂为什么要搞俩一模一样的)

扫描二维码关注公众号,回复: 2641301 查看本文章

context:到达地点具体信息

location:到达地点(基本上为空)


依赖 jar包为:

  • httpcore-4.4.4.jar
  • httpclient-4.5.2.jar
  • gson-2.8.0.jar
  • commons-logging-1.2.jar
  • commons-codec-1.9.jar

均在target/dependency下面

打包的jar包在target下面

  • ExpressQuery-0.0.1-SNAPSHOT-jar-with-dependencies.jar 包括了依赖包

  • ExpressQuery-0.0.1-SNAPSHOT.jar 不包括依赖包


使用例子为工程中的Example,方法与类不多,源码中有注释

本人萌新,如有错误敬请谅解。

猜你喜欢

转载自blog.csdn.net/qq_33472557/article/details/78068095