C#论坛-玄机论坛-C#论坛-玄机宝盒-玄机类库-C#

 找回密码
 关闭注册

QQ登录

只需一步,快速开始

查看: 13390|回复: 44

[资源分享] 利用kuaidi100实现快递查询源码

[复制链接]
qyhack 发表于 2015-11-9 09:24:38 | 显示全部楼层 |阅读模式

玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
如有疑问,请加入官方群询问

您需要 登录 才可以下载或查看,没有帐号?关闭注册

x
本帖最后由 qyhack 于 2015-11-9 09:26 编辑
利用kuaidi100实现快递查询源码

感谢佐佑 大神提供的协议包
http://bbs.msdn5.com/thread-384-1-1.html

代码写得比较渣,望各位同仁指正
1.png

[mw_shl_code=csharp,true]
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows.Forms;

namespace ExpressCheck
{
    public partial class Form1 : Form
    {
        private SynchronizationContext Context;
        public Form1()
        {
            InitializeComponent();
            Context = SynchronizationContext.Current;

        }

        private void button1_Click(object sender, EventArgs e)
        {
            new System.Threading.Thread(QueryExpress).Start(textBox1.Text);
        }

        private void QueryExpress(object obj)
        {
            try
            {
                HttpCodeLib.Wininet w = new HttpCodeLib.Wininet();
                string retCode = w.GetData(string.Format("http://www.kuaidi100.com/autonumber/auto?num={0}", obj));
                List<ExpressType> typeList = JsonConvert.DeserializeObject<List<ExpressType>>(retCode);
                ExpressInfo info;
                foreach (ExpressType item in typeList)
                {
                    retCode = w.GetUtf8(string.Format("http://www.kuaidi100.com/query?type={0}&postid={1}", item.ComCode, obj));
                    info = JsonConvert.DeserializeObject<ExpressInfo>(retCode);
                    if (info != null && info.Status == "200")
                    {
                        OnLog("当前订单查询成功:");
                        foreach (Datum tmp in info.Data)
                        {
                            OnLog("【" + tmp.Time + "】 " + tmp.Context);
                        }
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                OnLog(ex.Message);
            }
        }

        private void OnLog(string log)
        {
            Context.Send(o =>
            {
                textBox2.Text += log + "\r\n";
            }, null);
        }
    }

    public class ExpressType
    {
        [JsonProperty("comCode")]
        public string ComCode { get; set; }

        [JsonProperty("id")]
        public string Id { get; set; }

        [JsonProperty("noCount")]
        public int NoCount { get; set; }

        [JsonProperty("noPre")]
        public string NoPre { get; set; }

        [JsonProperty("startTime")]
        public string StartTime { get; set; }
    }

    public class ExpressInfo
    {
        [JsonProperty("nu")]
        public string Nu { get; set; }

        [JsonProperty("message")]
        public string Message { get; set; }

        [JsonProperty("ischeck")]
        public string Ischeck { get; set; }

        [JsonProperty("com")]
        public string Com { get; set; }

        [JsonProperty("updatetime")]
        public string Updatetime { get; set; }

        [JsonProperty("status")]
        public string Status { get; set; }

        [JsonProperty("condition")]
        public string Condition { get; set; }

        [JsonProperty("data")]
        public Datum[] Data { get; set; }

        [JsonProperty("state")]
        public string State { get; set; }
    }

    public class Datum
    {
        [JsonProperty("time")]
        public string Time { get; set; }

        [JsonProperty("context")]
        public string Context { get; set; }

        [JsonProperty("ftime")]
        public string Ftime { get; set; }
    }
}

[/mw_shl_code]


评分

参与人数 1紫晶 +10 收起 理由
君临 + 10 奉上小小红包希望笑纳

查看全部评分

玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复

使用道具 举报

milest 发表于 2015-11-9 09:54:11 | 显示全部楼层
支持开源,谢谢分享!!!
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复 支持 反对

使用道具 举报

somk 发表于 2015-11-9 13:24:10 | 显示全部楼层
支持你的新作!!
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复 支持 反对

使用道具 举报

whoamixx 发表于 2015-11-9 15:35:31 | 显示全部楼层
感谢分享
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复

使用道具 举报

SmartN2015 发表于 2015-11-10 15:00:18 | 显示全部楼层
不错 学习一下
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复 支持 反对

使用道具 举报

jgsh 发表于 2015-11-10 16:48:44 | 显示全部楼层
好东西~~~~~
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复

使用道具 举报

954624 发表于 2015-11-10 19:46:18 | 显示全部楼层
支持开源,谢谢分享!!!
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复 支持 反对

使用道具 举报

独来读网 发表于 2015-11-11 09:56:25 | 显示全部楼层
不错,学习一下。
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复 支持 反对

使用道具 举报

ppszxc 发表于 2015-11-15 16:46:23 | 显示全部楼层
来下载看看效果
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复 支持 反对

使用道具 举报

fendou 发表于 2015-11-15 23:19:16 | 显示全部楼层
太感谢了
玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
帖子内网盘失效后请使用下面地址

http://bbs.msdn5.com/forum.php?mod=viewthread&tid=1218
如果失效请联系站长重新分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 关闭注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

QQ|玄机论坛

GMT+8, 2024-3-29 06:25 , Processed in 0.176071 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表