亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#實現快遞api接口調用方法

2020-01-24 02:07:17
字體:
來源:轉載
供稿:網友

無平臺限制,依賴于快遞api網接口

  ----------------實體類  [DataContract]  public class SyncResponseEntity  {    public SyncResponseEntity() { }    /// <summary>    /// 需要查詢的快遞代號    /// </summary>    [DataMember(Order = 0, Name = "id")]    public string ID { get; set; }     /// <summary>    /// 需要查詢的快遞名稱    /// </summary>    [DataMember(Order = 1, Name = "name")]    public string Name { get; set; }     /// <summary>    /// 需要查詢的快遞單號    /// </summary>    [DataMember(Order = 2, Name = "order")]    public string Order { get; set; }     /// <summary>    /// 消息內容    /// </summary>    [DataMember(Order = 5, Name = "message")]    public string Message { get; set; }     /// <summary>    /// 服務器狀態    /// </summary>    [DataMember(Order = 6, Name = "errcode")]    public string ErrCode { get; set; }     /// <summary>    /// 運單狀態    /// </summary>    [DataMember(Order = 7, Name = "status")]    public int Status { get; set; }     /// <summary>    /// 跟蹤記錄    /// </summary>    [DataMember(Order = 8, Name = "data")]    public List<Order> Data { get; set; }  }   [DataContract(Name = "data")]  public class Order  {    public Order() { }    public Order(string time, string content)    {      this.Time = time;      this.Content = content;    }     [DataMember(Order = 0, Name = "time")]    public string Time { get; set; }     [DataMember(Order = 1, Name = "content")]    public string Content { get; set; }   } ---------調用方法public static int uid = Utils.GetAppConfig<int>("KUAIDIAPI_UID", 0);    public static string sync_url = Utils.GetAppConfig<string>("KUAIDIAPI_SYNC_URL", string.Empty);    public static string key = Utils.GetAppConfig<string>("KUAIDIAPI_KEY", string.Empty);     /// <summary>    /// 同步單號查詢方法    /// </summary>    /// <typeparam name="T"></typeparam>    /// <param name="id"></param>    /// <param name="order"></param>    /// <param name="isSign"></param>    /// <param name="isLast"></param>    /// <param name="defaultValue"></param>    /// <returns></returns>    public static T APIQueryDataSYNC<T>(string id,                       string order,                       bool isSign,                       bool isLast,                       T defaultValue)    {      try      {        string currTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");        string currKey = key;        if (isSign)        {          currKey = Utils.GetSign(uid, key, id, order, currTime);          currKey += "&issign=true";        }         string url = sync_url + string.Format("?uid={0}&key={1}&id={2}&order={3}&time={4}",                      uid, currKey, id, order, HttpUtility.UrlEncode(currTime));         string html = Utils.GET_WebRequestHTML("utf-8", url);         if (!string.IsNullOrEmpty(html))          return Utils.JsonToObj<T>(html, defaultValue);      }      catch (Exception ex)      {        throw new Exception(ex.Message);      }       return defaultValue;    }   }   /// <summary>  /// 輔助工具類  /// </summary>  public class Utils  {    public static string GetSign(int uid, string key, string id, string order, string time)    {      string sign = string.Format("uid={0}&key={1}&id={2}&order={3}&time={4}",                    uid,                    key,                    id,                    HttpUtility.UrlEncode(order.ToLower()),                    HttpUtility.UrlEncode(time));       return Md5Encrypt(sign.ToLower(), "utf-8");    }     public static string Md5Encrypt(string strToBeEncrypt, string encodingName)    {      MD5 md5 = new MD5CryptoServiceProvider();      Byte[] FromData = System.Text.Encoding.GetEncoding(encodingName).GetBytes(strToBeEncrypt);      Byte[] TargetData = md5.ComputeHash(FromData);      string Byte2String = "";      for (int i = 0; i < TargetData.Length; i++)      {        Byte2String += TargetData[i].ToString("x2");      }      return Byte2String;    }     public static T GetRequest<T>(string key, T defaultValue)    {      string value = HttpContext.Current.Request[key];       if (string.IsNullOrEmpty(value))      {        return defaultValue;      }      else      {        try        {          return (T)Convert.ChangeType(value, typeof(T));        }        catch        {          return defaultValue;        }      }    }     public static T GetAppConfig<T>(string key, T defaultValue)    {      string value = ConfigurationManager.AppSettings[key];       if (string.IsNullOrEmpty(value))      {        return defaultValue;      }      else      {        try        {          return (T)Convert.ChangeType(value, typeof(T));        }        catch        {          return defaultValue;        }      }    }     public static string ObjToJson<T>(T data)    {      try      {        DataContractJsonSerializer serializer = new DataContractJsonSerializer(data.GetType());        using (MemoryStream ms = new MemoryStream())        {          serializer.WriteObject(ms, data);          return Encoding.UTF8.GetString(ms.ToArray());        }      }      catch      {        return null;      }    }     public static T JsonToObj<T>(string json, T defaultValue)    {      try      {        System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));        using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))        {          object obj = serializer.ReadObject(ms);           return (T)Convert.ChangeType(obj, typeof(T));        }      }      catch      {        return defaultValue;      }    }     public static T XmlToObj<T>(string xml, T defaultValue)    {      try      {        System.Runtime.Serialization.DataContractSerializer serializer = new System.Runtime.Serialization.DataContractSerializer(typeof(T));        using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(xml)))        {          object obj = serializer.ReadObject(ms);           return (T)Convert.ChangeType(obj, typeof(T));        }      }      catch      {        return defaultValue;      }    }     public static string ObjToXml<T>(T data)    {      System.Runtime.Serialization.DataContractSerializer serializer = new System.Runtime.Serialization.DataContractSerializer(typeof(T));      using (MemoryStream ms = new MemoryStream())      {        serializer.WriteObject(ms, data);        return Encoding.UTF8.GetString(ms.ToArray());       }    }     public static string GET_WebRequestHTML(string encodingName, string htmlUrl)    {      string html = string.Empty;       try      {        Encoding encoding = Encoding.GetEncoding(encodingName);         WebRequest webRequest = WebRequest.Create(htmlUrl);        HttpWebResponse httpWebResponse = (HttpWebResponse)webRequest.GetResponse();        Stream responseStream = httpWebResponse.GetResponseStream();        StreamReader streamReader = new StreamReader(responseStream, encoding);         html = streamReader.ReadToEnd();         httpWebResponse.Close();        responseStream.Close();        streamReader.Close();      }      catch (WebException ex)      {        throw new Exception(ex.Message);      }       return html;    }     /// <summary>    /// 將網址類容轉換成文本字符串 post請求    /// </summary>    /// <param name="data">要post的數據</param>    /// <param name="url">目標url</param>    /// <returns>服務器響應</returns>    public static string POST_HttpWebRequestHTML( string encodingName,                           string htmlUrl,                           string postData)    {      string html = string.Empty;       try      {        Encoding encoding = Encoding.GetEncoding(encodingName);         byte[] bytesToPost = encoding.GetBytes(postData);         WebRequest webRequest = WebRequest.Create(htmlUrl);        HttpWebRequest httpRequest = webRequest as System.Net.HttpWebRequest;         httpRequest.Method = "POST";        httpRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";        httpRequest.ContentType = "application/x-www-form-urlencoded";        httpRequest.ContentLength = bytesToPost.Length;        httpRequest.Timeout = 15000;        httpRequest.ReadWriteTimeout = 15000;        Stream requestStream = httpRequest.GetRequestStream();        requestStream.Write(bytesToPost, 0, bytesToPost.Length);        requestStream.Close();         HttpWebResponse httpWebResponse = (HttpWebResponse)httpRequest.GetResponse();        Stream responseStream = httpWebResponse.GetResponseStream();        StreamReader streamReader = new StreamReader(responseStream, encoding);         html = streamReader.ReadToEnd();      }      catch (WebException ex)      {        throw new Exception(ex.Message);      }       return html;    }  }   /// <summary>  /// 接口類型  /// </summary>  public enum APIType  {    //同步查詢    SYNC = 1  }

基本上代碼都在上面。在帶www.kuaidiapi.cn上申請一個uid就大功告成。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
秋霞成人午夜鲁丝一区二区三区| 亚洲国产精品久久精品怡红院| 欧美国产极速在线| 亚洲精品美女免费| 狠狠久久亚洲欧美专区| 国产精品欧美日韩一区二区| 亚洲国产私拍精品国模在线观看| 91在线观看免费观看| 欧美一区二区视频97| 欧亚精品中文字幕| 国产精品大陆在线观看| 97在线视频精品| 久久久爽爽爽美女图片| 国产欧美日韩亚洲精品| 国产精品福利久久久| 欧美视频中文字幕在线| 日本韩国在线不卡| 狠狠做深爱婷婷久久综合一区| 国产精品久久999| 国产精品久久久av久久久| 亚洲精品在线视频| 国产福利视频一区二区| 国产日韩中文在线| 亚洲影视中文字幕| 国内精品久久久久影院优| 亚洲少妇中文在线| 欧美巨乳美女视频| 精品久久久久久久久久ntr影视| 国产精品日韩在线一区| 日韩av男人的天堂| 久久露脸国产精品| 美女性感视频久久久| 欧美日韩福利在线观看| 亚洲午夜精品久久久久久性色| 日韩av免费在线播放| 亚洲欧洲一区二区三区在线观看| 亚洲精品久久久一区二区三区| 91精品中国老女人| 中文字幕一区日韩电影| 日韩欧美亚洲范冰冰与中字| 精品成人69xx.xyz| 久久中文久久字幕| 欧美成人亚洲成人| 欧美日韩中文字幕日韩欧美| 日本精品久久电影| 久久91精品国产91久久久| 色老头一区二区三区| 韩国v欧美v日本v亚洲| 成人高h视频在线| 97超碰蝌蚪网人人做人人爽| 黑人巨大精品欧美一区免费视频| 国产综合在线观看视频| 欧美性猛交xxx| 国产91在线播放| 欧美尤物巨大精品爽| 亚洲影视九九影院在线观看| 中文字幕久热精品在线视频| 在线观看精品国产视频| 亚洲人成人99网站| 欧美插天视频在线播放| 国产精品丝袜视频| 欧美一区二区三区精品电影| 国产精品一区二区3区| 亚洲国产精品久久久| 久久免费福利视频| 一本一本久久a久久精品综合小说| 美女久久久久久久| 国产精品视频yy9099| 国产日产亚洲精品| 久久国产精品99国产精| 日韩av在线影视| 日韩欧美在线观看| 欧美一区二区.| 欧美亚洲另类视频| 欧美性一区二区三区| 色www亚洲国产张柏芝| 亚洲第一中文字幕在线观看| 亚洲精品电影在线| 国产日本欧美视频| 在线精品国产成人综合| 久久99久久99精品免观看粉嫩| 亚洲精品欧美日韩专区| 亚洲精品自产拍| 欧美丝袜一区二区三区| 91九色单男在线观看| 国产成人免费91av在线| 永久555www成人免费| 国产精品久久久久久久久久小说| 精品自在线视频| 91精品久久久久久久久久久久久| 国产精品夜间视频香蕉| 日韩女优在线播放| 久久久久久国产| 亚洲午夜激情免费视频| 午夜精品99久久免费| 国产精品一区二区三区成人| 日韩大片在线观看视频| 日韩国产一区三区| 亚洲精品日韩激情在线电影| 亚洲精品中文字| 欧美理论电影网| 2019中文字幕在线观看| 成人亲热视频网站| 国产欧亚日韩视频| 91精品国产免费久久久久久| 色久欧美在线视频观看| 日韩免费观看网站| 亚洲精品ady| 欧美激情一区二区久久久| 国产亚洲xxx| 国产区精品视频| 欧美精品videossex性护士| 国产精品第一页在线| 国产精品久久久久久亚洲调教| 久久影院免费观看| 97超碰国产精品女人人人爽| 国产精品一二三视频| 欧日韩不卡在线视频| 亚洲久久久久久久久久久| 亚洲自拍偷拍一区| 欧美日韩中文在线观看| 欧美日韩性视频在线| 国产精品自产拍高潮在线观看| 欧美综合激情网| 国产精品香蕉在线观看| 亚洲午夜久久久影院| 国产视频久久久| 欧美综合在线观看| 亚洲第一精品电影| 久久久精品亚洲| 欧美大肥婆大肥bbbbb| 国产69精品99久久久久久宅男| 中文字幕精品www乱入免费视频| 久久国内精品一国内精品| 91精品在线观看视频| 26uuu日韩精品一区二区| 九九热这里只有在线精品视| 欧美在线视频免费观看| 中文字幕少妇一区二区三区| 国产亚洲精品久久久久久| 国产精品爽爽爽爽爽爽在线观看| 热久久美女精品天天吊色| 日韩免费在线观看视频| 亚洲欧美激情四射在线日| 91精品久久久久久久久久久久久| 91精品中国老女人| 国产日韩中文字幕在线| 色偷偷噜噜噜亚洲男人的天堂| 成人午夜在线视频一区| 欧美日韩一二三四五区| 欧美在线亚洲一区| 国内揄拍国内精品少妇国语| 成人激情免费在线| 国产精品自产拍高潮在线观看| 亚洲一区二区三区四区视频| 久久噜噜噜精品国产亚洲综合| 一区二区三区 在线观看视| 精品福利视频导航| 国产精品视频免费观看www| 亚洲视频在线免费观看| 亚洲国产精品久久久久秋霞蜜臀| 久久最新资源网| 成人在线国产精品| 91精品国产高清久久久久久91|