C#-Express-ickd接口

爱查快递接口使用

  1 using System;
  2 using System.Collections.Generic;
  3 using System.IO;
  4 using System.Net;
  5 using System.Text;
  6 using System.Linq;
  7 using Newtonsoft.Json;
  8
  9 namespace ClassLibrary
 10 {
 11     //快递查询
 12     public static class Express
 13     {
 14         #region 快递查询接口Key
 15         #region ickd.com
 16         private const string ickdKEY = "";
 17         private const string ickdSecret = "";
 18         private static Dictionary<string, string> ickdComDic = new Dictionary<string, string>() {
 19                     {"顺丰快递","shunfeng"},
 20                     {"申通快递","shentong"},{"圆通快递","yuantong"},{"中通快递","zhongtong"},{"韵达快递","yunda"},
 21                     {"大田物流","datian"},{"德邦物流","debang"},{"D速快递","dsu"},{"EMS快递","ems"},{"华宇物流","huayu"},
 22                     {"汇通快递","huitong"},{"佳吉快运","jiaji"},{"京广快递","jingguang"},{"龙邦快递","longbang"},
 23                     {"天天快递","tiantian"},{"新邦物流","xinbang"},{"优速快递","yousu"},{"宅急送快递","zhaijisong"}
 24                 };
 25         public static List<string> idkdGetCom()
 26         {
 27             return ickdComDic.Keys.ToList<string>();
 28         }
 29         #endregion
 30         #endregion
 31
 32         #region 使用ickd.com接口获取快递信息
 33         /// <summary>
 34         /// 查询快递
 35         /// </summary>
 36         /// <param name="com">快递</param>
 37         /// <param name="nu">快递单号</param>
 38         /// <param name="order">排序顺序</param>
 39         /// <param name="type">返回值类型</param>
 40         /// <param name="encode">编码方式</param>
 41         /// <returns></returns>
 42         public static ickdModel GetICKDModel(string com, string nu, ickdOrderType order = ickdOrderType.desc, ickdDateType type = ickdDateType.json, ickdEncodeType encode = ickdEncodeType.gbk)
 43         {
 44             try
 45             {
 46                 StringBuilder sb = new StringBuilder();
 47                 sb.AppendFormat("http://api.ickd.cn/?id={0}&secret={1}&com={2}&nu={3}&type={4}&ord={5}&encode={6}", ickdKEY, ickdSecret, ickdComDic[com], nu, type, order, encode);
 48
 49                 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sb.ToString());//向url所在的服务器发送一个请求
 50                 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //获得服务器的回应
 51                 string charset = response.CharacterSet;
 52                 Encoding reEncode = Encoding.GetEncoding(charset);
 53                 TextReader text = new StreamReader(response.GetResponseStream(), reEncode);//初始化流
 54                 string htmlContent = text.ReadToEnd();//获得网页内容
 55                 response.Close();
 56
 57                 ickdModel model = JsonConvert.DeserializeObject<ickdModel>(htmlContent);
 58                 return model.status != 0 ? model : null;
 59             }
 60             catch (Exception)
 61             {
 62                 return null;
 63             }
 64         }
 65         #endregion
 66     }
 67
 68     #region ickd枚举参数
 69     public enum ickdDateType
 70     {
 71         json, html, text, xml
 72     }
 73     public enum ickdOrderType
 74     {
 75         desc, asc
 76     }
 77     public enum ickdEncodeType
 78     {
 79         gbk, utf8
 80     }
 81     #endregion
 82
 83     #region 快递信息
 84     public class ickdModel
 85     {
 86         /// <summary>
 87         /// 查询结果状态[0查询失败/1正常/2派送中/3已签收/4退回/5其他问题]
 88         /// </summary>
 89         public int status { get; set; }
 90         /// <summary>
 91         /// 错误消息
 92         /// </summary>
 93         public string message { get; set; }
 94         /// <summary>
 95         /// 进度
 96         /// </summary>
 97         public List<ickdInfoModel> data { get; set; }
 98         /// <summary>
 99         /// 快递单号
100         /// </summary>
101         public string mailNo { get; set; }
102         /// <summary>
103         /// 快递公司英文代码
104         /// </summary>
105         public string expSpellName { get; set; }
106         /// <summary>
107         /// 快递公司中文名
108         /// </summary>
109         public string expTextName { get; set; }
110         /// <summary>
111         /// 最后更新时间
112         /// </summary>
113         public string update { get; set; }
114         /// <summary>
115         /// 缓存时间
116         /// </summary>
117         public string cache { get; set; }
118         /// <summary>
119         /// 排序
120         /// </summary>
121         public string ord { get; set; }
122
123     }
124     #endregion
125
126     #region 快递处理信息
127     public class ickdInfoModel
128     {
129         /// <summary>
130         /// 处理时间
131         /// </summary>
132         public string time { get; set; }
133         /// <summary>
134         /// 处理信息
135         /// </summary>
136         public string context { get; set; }
137     }
138     #endregion
139 }

时间: 2024-08-01 19:33:18

C#-Express-ickd接口的相关文章

Vue(二十一)使用express模拟接口数据

1.下载express ... 2.使用vue-cli下载好项目文件 ... 3.找到文件 build - webpack.dev.conf.js 'use strict' const utils = require('./utils') const webpack = require('webpack') const config = require('../config') const merge = require('webpack-merge') const path = require

express和数据库(MySQL)的交互(二)

一.安装express前面都讲了 1.express. cnpm || npm install express --save 2.中间件 a.cnpm || npm install body-parser --save     当post请求的时候,需要用这个中间件来处理参数 b.cnpm || npm install cookie-parser  处理cookie的中间件 c. cnpm || npm install multer  处理form表单中 的文件上传 3.安装MySQL 的数据库

express和json的调用

在express工程里,建立app.js var express = require('express'); var app = express(); //数据接口 var newsdata=[{ 'id':'1', 'title':'标题1', 'link':'链接1', 'content':'内容1', 'typeid':'1' }, { 'id':'2', 'title':'标题2', 'link':'链接2', 'content':'内容2', 'typeid':'2' } ]; //全

PCI Express

1.1课题研究背景 在目前高速发展的计算机平台上,应用软件的开发越来越依赖于硬件平台,尤其是随着大数据.云计算的提出,人们对计算机在各个领域的性能有更高的需求.日常生活中的视频和图像信息包含大量的数据,对此计算机对这些海量信息的实时处理.高效传输和大容量存储都是今后计算机发展的趋势和目标. 总线是由多个部件和设备所共享的,是计算机通信接口的重要技术.为了简化硬件电路设计.简化系统结构,通常用一组线路配置适当的接口电路,与各部件和外围设备连接,这组共用的连接线路称为总线.采用总线结构便于部件和设备

图解电脑接口全程

  第一部分 外部接口:用于连接各种PC外设 USB USB(Universal Serial Bus通用串行总线)用于将鼠标.键盘.移动硬盘.数码相机.VoIP电话(Skype)或打印机等外设等连接到PC.理论上单个USB host控制器可以连接最多127个设备. USB目前有两个版本,USB1.1的最高数据传输率为12Mbps,USB2.0则提高到480Mbps.注意:二者的物理接口完全一致,数据传输率上的差别完全由PC的USB host控制器以及USB设备决定.USB可以通过连接线为设备提

express + restful

express http://www.expressjs.com.cn/ Express 是一个基于 Node.js 平台的极简.灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用. http://www.expressjs.com.cn/starter/hello-world.html var express = require('express'); var app = express(); app.get('/', function (req, r

从零搭建vue+express开发环境

https://blog.csdn.net/u012414590/article/details/79043757 前端模板渲染vue,后端express提供接口服务,合并成一个项目.同样是前后端分离,互不影响. 项目发布只是把vue经过webpack打包当做express的静态文件夹发布 将VUE 项目的所有文件放入 public 或者修改  app.use(express.static(path.resolve(__dirname, '../dist'))); 原文地址:https://ww

PCIe闪存控制器技术解析

一.PCIe-SSD架构解析 PCIe作为CPU的局部总线,最大的特点在于数据传输吞吐量大和延迟低.对于NandFlash固态存储而言,传统磁盘存储领域存在的随机读写问题将不复存在,因此,整个存储系统的瓶颈从存储介质转移到了传输接口上来了.为存储而生的SATA/SAS接口在SSD上的表现不是那么理想了,非常影响IO的传输延迟.为此,显而易见,存储接口应该从传统的SATA/SAS往离CPU更近的系统总线PCIe或者DIMM方向发展. 大家其实很早就认识到了这一点,当年Fusion-io推出基于PC

硬盘接口技术大观园

来自存储老吴的博客--存储之道 目录 古老的磁盘接口... 1 IDE接口... 1 SCSI接口... 3 FC接口... 4 串行ATA接口... 5 SATA接口... 6 mSATA接口... 8 SATA Express. 10 串行SCSI接口... 10 SAS接口... 10 SAS内部连接线缆... 13 SAS外部互连线缆... 17 NVMe SSD接口... 21 SFF-8639. 21 M.2接口... 22 硬盘技术发展至今,历经了多次接口技术的发展和变革,存储老吴

基于XC7K325T数据处理FMC载板PXIE板卡

PXIE301是北京青翼科技一款基于PXI Express总线架构的高性能数据预处理FMC载板,板卡具有1个FMC(HPC)接口,1个X8 PCIe主机接口,板卡采用Xilinx的高性能Kintex-7系列FPGA作为实时处理器,实现FMC接口数据的采集.处理.以及PCI Express总线接口的转换.板载1组独立的64位DDR3 SDRAM大容量缓存.该板卡通过搭载不同的FMC子卡,可快速搭建起基于PXI Express仪器总线的验证平台,该板卡为标准3U PXI Express尺寸,适合于标