#region 获取快递100提供的查询快递信息的函数
   /// <summary>
   /// 获取快递100提供的查询快递信息的函数
   /// 调用示例:
   /// Dictionary<string, string> kuaidi100 = StaticFunApp.GetKuaidi100("优速物流", "669009108318");
   ///foreach (KeyValuePair<string,string> en in kuaidi100)
   ///{
   ///Response.WriteLine(en.Key+"  "+en.Value);
   ///}
   /// </summary>
   /// <param name="typeCom">物流公司</param>
   /// <param name="epxno">快递单号</param>
   /// <returns></returns>
   public static Dictionary<string, string> GetKuaidi100(string typeCom, string epxno)
   {
       #region 获取快递信息
       string ApiKey = "XXXXXX";//请把XXXXXX修改成您在快递100网站申请的APIKey
       //string powered = "快递数据由: <a href=\"http://www.kuaidi100.com/?refer=hishop&a=e8bc69faf6f1270b\" target=\"_blank\">快递100</a> 提供";
       //技术文档地址:http://code.google.com/p/kuaidi-api/wiki/Open_API_API_URL
       Dictionary<string, string> dict = new Dictionary<string, string>();
       switch (typeCom)
       {
           case "AAE全球专递":
               typeCom = "aae";
               break;
           case "安捷快递":
               typeCom = "anjiekuaidi";
               break;
           case "安信达快递":
               typeCom = "anxindakuaixi";
               break;
           case "百福东方":
               typeCom = "baifudongfang";
               break;
           case "彪记快递":
               typeCom = "biaojikuaidi";
               break;
           case "BHT":
               typeCom = "bht";
               break;
           case "希伊艾斯快递":
               typeCom = "cces";
               break;
           case "中国东方":
               typeCom = "Coe";
               break;
           case "长宇物流":
               typeCom = "changyuwuliu";
               break;
           case "大田物流":
               typeCom = "datianwuliu";
               break;
           case "德邦物流":
               typeCom = "debangwuliu";
               break;
           case "DPEX":
               typeCom = "dpex";
               break;
           case "DHL":
               typeCom = "dhl";
               break;
           case "D速快递":
               typeCom = "dsukuaidi";
               break;
           case "fedex":
               typeCom = "fedex";
               break;
           case "飞康达物流":
               typeCom = "feikangda";
               break;
           case "凤凰快递":
               typeCom = "fenghuangkuaidi";
               break;
           case "港中能达物流":
               typeCom = "ganzhongnengda";
               break;
           case "广东邮政物流":
               typeCom = "guangdongyouzhengwuliu";
               break;
           case "汇通快运":
               typeCom = "huitongkuaidi";
               break;
           case "恒路物流":
               typeCom = "hengluwuliu";
               break;
           case "华夏龙物流":
               typeCom = "huaxialongwuliu";
               break;
           case "佳怡物流":
               typeCom = "jiayiwuliu";
               break;
           case "京广速递":
               typeCom = "jinguangsudikuaijian";
               break;
           case "急先达":
               typeCom = "jixianda";
               break;
           case "佳吉物流":
               typeCom = "jiajiwuliu";
               break;
           case "加运美":
               typeCom = "jiayunmeiwuliu";
               break;
           case "快捷速递":
               typeCom = "kuaijiesudi";
               break;
           case "联昊通物流":
               typeCom = "lianhaowuliu";
               break;
           case "龙邦物流":
               typeCom = "longbanwuliu";
               break;
           case "民航快递":
               typeCom = "minghangkuaidi";
               break;
           case "配思货运":
               typeCom = "peisihuoyunkuaidi";
               break;
           case "全晨快递":
               typeCom = "quanchenkuaidi";
               break;
           case "全际通物流":
               typeCom = "quanjitong";
               break;
           case "全日通快递":
               typeCom = "quanritongkuaidi";
               break;
           case "全一快递":
               typeCom = "quanyikuaidi";
               break;
           case "盛辉物流":
               typeCom = "shenghuiwuliu";
               break;
           case "速尔物流":
               typeCom = "suer";
               break;
           case "盛丰物流":
               typeCom = "shengfengwuliu";
               break;
           case "天地华宇":
               typeCom = "tiandihuayu";
               break;
           case "天天快递":
               typeCom = "tiantian";
               break;
           case "TNT":
               typeCom = "tnt";
               break;
           case "UPS":
               typeCom = "ups";
               break;
           case "万家物流":
               typeCom = "wanjiawuliu";
               break;
           case "文捷航空速递":
               typeCom = "wenjiesudi";
               break;
           case "伍圆速递":
               typeCom = "wuyuansudi";
               break;
           case "万象物流":
               typeCom = "wanxiangwuliu";
               break;
           case "新邦物流":
               typeCom = "xinbangwuliu";
               break;
           case "信丰物流":
               typeCom = "xinfengwuliu";
               break;
           case "星晨急便":
               typeCom = "xingchengjibian";
               break;
           case "鑫飞鸿物流":
               typeCom = "xinhongyukuaidi";
               break;
           case "亚风速递":
               typeCom = "yafengsudi";
               break;
           case "一邦速递":
               typeCom = "yibangwuliu";
               break;
           case "优速物流":
               typeCom = "youshuwuliu";
               break;
           case "远成物流":
               typeCom = "yuanchengwuliu";
               break;
           case "圆通速递":
               typeCom = "yuantong";
               break;
           case "源伟丰快递":
               typeCom = "yuanweifeng";
               break;
           case "元智捷诚快递":
               typeCom = "yuanzhijiecheng";
               break;
           case "越丰物流":
               typeCom = "yuefengwuliu";
               break;
           case "韵达快递":
               typeCom = "yunda";
               break;
           case "源安达":
               typeCom = "yuananda";
               break;
           case "运通快递":
               typeCom = "yuntongkuaidi";
               break;
           case "宅急送":
               typeCom = "zhaijisong";
               break;
           case "中铁快运":
               typeCom = "zhongtiewuliu";
               break;
           case "中通速递":
               typeCom = "zhongtong";
               break;
           case "中邮物流":
               typeCom = "zhongyouwuliu";
               break;
           default:
               dict.Add("result",typeCom+" is not supported");
               return dict;
       }
       string CacheKey = typeCom + "-" + epxno;//作为一个缓存
       object cacheobj = DataCache.GetCache(CacheKey);
       string detail = "";
       if (cacheobj == null)
       {
           string apiurl = "http://api.kuaidi100.com/api?id=" + ApiKey + "&com=" + typeCom + "&nu=" + epxno + "&show=1&muti=1&order=asc";
           //参数show    String    返回类型。0:返回json字符串,1:返回xml对象,2:返回html对象,3:返回text文本。如果不填,默认返回json字符串
           //参数muti    Stirng    返回信息数量,1:返回多行完整的信息,0:只返回一行信息。不填默认返回多行
           //参数order    Stirng    排序。desc:按时间由新到旧排列,asc:按时间由旧到新排列。不填默认返回倒序(大小不敏感)
           //Response.Write (apiurl);
           WebRequest request = WebRequest.Create(@apiurl);
           WebResponse response = request.GetResponse();
           Stream stream = response.GetResponseStream();
           Encoding encode = Encoding.UTF8;
           StreamReader reader = new StreamReader(stream, encode);
           detail = reader.ReadToEnd();
           DataCache.SetCacheSecond(CacheKey, detail, 30, TimeSpan.Zero);//查询后设置缓存
       }
       else detail = cacheobj.IsNull();
       #endregion

#region 用xml解析获取的信息
       string kuaidi100 = detail;
       XmlDocument doc = new XmlDocument();
       doc.InnerXml = kuaidi100;

string message = doc.SelectSingleNode("xml/message").InnerText;
       //state---0:在途中, 1:已发货, 2:疑难件, 3:已签收, 4:已退货。
       string state = doc.SelectSingleNode("xml/state").InnerText;
       switch (state)
       {
           case "0":
               state = "在途中";
               break;
           case "1":
               state = "已发货";
               break;
           case "2":
               state = "疑难件";
               break;
           case "3":
               state = "已签收";
               break;
           case "4":
               state = "已退货";
               break;
       }
       //status---0:运单暂无结果, 1:查询成功, 2:接口出现异常,408:验证码出错(仅适用于APICode url) 。
       string status = doc.SelectSingleNode("xml/status").InnerText;
       switch (status)
       {
           case "0":
               status = "运单暂无结果";
               break;
           case "1":
               status = "查询成功";
               break;
           case "2":
               status = "接口出现异常";
               break;
           case "408":
               status = "验证码出错";
               break;
       }
       dict.Add("status", status);
       dict.Add("state", state);
       if (status == "查询成功")
       {
           XmlNodeList list = doc.SelectNodes("xml/data");
           foreach (XmlNode node in list)
           {
               string time = node.SelectSingleNode("time").InnerText;//节点下的子节点名称
               string context = node.SelectSingleNode("context").InnerText;//节点下的子节点名称
               dict.Add(time, context);
           }
       }
       #endregion
       return dict;
   }
   #endregion

.NET获取快递100提供的查询快递信息的方法相关推荐

  1. 快递100企业版物流查询API使用流程

    快递100企业版物流查询API现在有150单免费测试额度(100单物流查询以及50单电子面单打印),请参考以下指引进行测试. 调试工具.技术文档和模板配置: 登录企业管理后台( https://api ...

  2. 快递100企业版物流快递查询接口(API) 接口文档-详细加长版

    快递100物流查询接口现已支持1200家常用的快递及物流公司单号查询.快递网点电话查询.快递价格查询.快递网上寄件服务.近期快递100物流查询接口推出针对部分B2C商城以及移动手机应用需要快递单号查询 ...

  3. 快递鸟平台,查询快递信息。已脱坑

    快递鸟平台,查询快递信息.已脱坑 写在前面 技术更新迭代,但总能有迹可循. 无休止的造轮子,早已让人精疲力竭. 自己跳过的坑,分享最终的成果,只为让痛苦不再重复. 一 背景 商城项目中,需要根据订单号 ...

  4. 订单快递单号及查询快递进度

    订单快递单号及查询快递进度 何须非要使用快递100,爱查等接口来获得快递进度信息?何必非要给自己的网站带上紧箍咒?为何不将选择权给自己的网站客户? 该插件可以: 1. 网站管理员在后台增删改管理自己所 ...

  5. python 写脚本 获取qq好友地理位置_Python获取统计自己的qq群成员信息的方法

    这篇文章主要介绍了Python获取统计自己的qq群成员信息的方法,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 首先说明一下需要使用的工具以及技术:python3 + ...

  6. python抓取qq群消息_Python获取统计自己的qq群成员信息的方法

    首先说明一下需要使用的工具以及技术:python3 + selenium selenium安装方法:pip install selenium 前提:获取自己的qq群成员信息,自己必须是群主或者管理员, ...

  7. 基于快递100 写的,快递查询快捷嵌入商城项目

    声明:此嵌入方式基于快递100 api 开发而成,不依赖快递100授权,如有侵权行为,请留言,我会尽快删除. 1.如何不依赖api授权,我参考以下网站: 电商网站接入快递查询 2.接下来上代码:kua ...

  8. PHP快递100的物流接口快递单号查询

    查询结果: 后台代码: public $com = '圆通速递'; public $num = '806212025572998025'; $this->searchKuaiDi($com,$n ...

  9. 快递100下单未知错误?快递100寄件/同城配送接口FAQ

    寄件类 账号注册后商家寄件接口显示下单失败,是否可以调试? 1.商家寄件接口无接口费用,充值费用为运费,在无充值情况下无法调用接口,最低充值为100元: 2.商家寄件接口下单后为预扣费用,取消订单会返 ...

最新文章

  1. FDATOOL设计数字滤波器
  2. Hyperledger Fabric 排序服务核心原理和工作过程
  3. 清华本硕男,月入5W征婚引群嘲“普通却自信”!本人回应了……
  4. PrincipleCTEbook
  5. 在Docker中运行asp.net core 跨平台应用程序
  6. joo工作流_不要错过使用jOOλ或jOOQ编写Java 8 SQL单行代码的机会
  7. python王者归来 pdf_OpenStack开源云:王者归来 PDF 下载
  8. c语言转换为python语言_python和c语言
  9. RabbitMq分布式事务解决方案第二篇
  10. 【操作系统】输入输出系统(上)-思维导图
  11. 昨天在被窝里玩手机游戏到深夜,自己写的“扫雷”,一个字:好玩。
  12. 关于WIN10下NVIDIA安装驱动后没有控制面板的解决办法
  13. 【读书笔记】-《软件测试的艺术》
  14. thinkphp 运行机制和优缺点
  15. sessionStorage 、localStorage 和 cookie
  16. 3D深度学习总结(聚焦3D深度学习的现在于未来)
  17. 计算机病毒教学评课,计算机病毒评课稿.doc
  18. java前端显示统计报表数据_强大的报表前端展现功能
  19. 你该知道的 Oracle 认证那些事儿(免费 赠送最新OCP题库)
  20. appium向右滑动

热门文章

  1. 第二届 IstioCon 演讲议题正在征集中
  2. 【接口、多态】小练习
  3. WFeB全球免费图书馆 World Free eBook
  4. matlab的magic函数,python实现类似于Matlab中的magic函数
  5. Win7 TAP-Windows Adapter V9提示Windows 要求已数字签名的驱动程序
  6. checbox加datagrid实现批量删除
  7. 帆软数据决策平台连接SAP RFC实例
  8. php+中文分词scws+sphinx+mysql打造千万级数据全文搜索
  9. cocos studio
  10. Python 批量翻译图片 附详细代码