Пример #1
0
        /// <summary>
        /// 快递100电子面单
        /// </summary>
        /// <param name="pms">参数</param>
        /// <returns></returns>
        /// <remarks> 2017-12-13 廖移凤</remarks>
        public override KdOrderNums OrderTracesSubByJson(KdOrderParam pms)
        {
            string pm    = SendData.ObjectToJson(pms);
            long   epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;//时间戳
            Dictionary <string, string> param = new Dictionary <string, string>();
            string dataSign = SendData.Encrypt(pm, epoch, Config.Kd100.Key, Config.Kd100.Secret, "UTF-8");

            param.Add("sign", HttpUtility.UrlEncode(dataSign, Encoding.UTF8));
            param.Add("key", Config.Kd100.Key);
            param.Add("t", epoch.ToString());
            param.Add("param", pm);
            string      result      = SendData.SendPost(Config.Kd100.ReqURL, param);
            JObject     jo          = (JObject)JsonConvert.DeserializeObject(result);//解析JSON字符串
            var         result1     = jo["data"];
            var         templateurl = result1[0]["templateurl"];
            KdOrderNums kn          = new KdOrderNums()
            {
                destCode        = result1[0]["destCode"].ToString(),
                destSortingCode = result1[0]["destSortingCode"].ToString(),
                expressCode     = result1[0]["expressCode"].ToString(),
                kdOrderNum      = result1[0]["kdOrderNum"].ToString(),
                kuaidinum       = result1[0]["kuaidinum"].ToString(),
                payaccount      = result1[0]["payaccount"].ToString()
            };

            if (templateurl != null)
            {
                kn.templateurl = templateurl.ToString();
            }
            return(kn);
        }
Пример #2
0
        /// <summary>
        /// 电子面单
        /// </summary>
        /// <returns></returns>
        public KdOrderNums OrderTracesSubByJson(KdOrderParam pms)
        {
            return(null);
            //            //电商ID
            // string key = "ntSFshOu7046";
            ////电商加密私钥
            // string secret = "2adc1f47936543debdf2bff890828dbb";
            ////请求url
            // string ReqURL = "http://api.kuaidi100.com/eorderapi.do?method=getElecOrder";
            //    string pm = ObjectToJson(pms);
            //    long epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;//时间戳
            //    Dictionary<string, string> param = new Dictionary<string, string>();
            //    string dataSign = Encrypt(pm, epoch, key,secret, "UTF-8");
            //    param.Add("sign", HttpUtility.UrlEncode(dataSign, Encoding.UTF8));
            //    param.Add("key", key);
            //    param.Add("t", epoch.ToString());
            //    param.Add("param", pm);
            //    string result = SendPost(ReqURL, param);
            //    JObject jo = (JObject)JsonConvert.DeserializeObject(result);//解析JSON字符串
            //    var result1 = jo["data"];
            //    var templateurl = result1[0]["templateurl"];
            //    KdOrderNums kn = new KdOrderNums()
            //    {
            //        destCode = result1[0]["destCode"].ToString(),
            //        destSortingCode = result1[0]["destSortingCode"].ToString(),
            //        expressCode = result1[0]["expressCode"].ToString(),
            //        kdOrderNum = result1[0]["kdOrderNum"].ToString(),
            //        kuaidinum = result1[0]["kuaidinum"].ToString(),
            //        payaccount = result1[0]["payaccount"].ToString()
            //    };
            //    if (templateurl != null)
            //    {
            //        kn.templateurl = templateurl.ToString();
            //    }
            //    return kn;



            //}
            //public static string SendPost(string url, Dictionary<string, string> param)
            //{
            //    string result = "";
            //    StringBuilder postData = new StringBuilder();
            //    if (param != null && param.Count > 0)
            //    {
            //        foreach (var p in param)
            //        {
            //            if (postData.Length > 0)
            //            {
            //                postData.Append("&");
            //            }
            //            postData.Append(p.Key);
            //            postData.Append("=");
            //            postData.Append(p.Value);
            //        }
            //    }
            //    byte[] byteData = Encoding.GetEncoding("UTF-8").GetBytes(postData.ToString());
            //    try
            //    {  //发送请求
            //        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            //        request.ContentType = "application/x-www-form-urlencoded";
            //        //request.Referer = url;
            //        request.Timeout = 30 * 1000;
            //        request.Method = "POST";
            //        Stream stream = request.GetRequestStream();
            //        stream.Write(byteData, 0, byteData.Length);
            //        //发送成功后接收返回的XML信息
            //        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            //        Stream backStream = response.GetResponseStream();
            //        StreamReader sr = new StreamReader(backStream, Encoding.GetEncoding("UTF-8"));
            //        result = sr.ReadToEnd();

            //    }
            //    catch (Exception ex)
            //    {
            //        result = ex.Message;
            //    }
            //    return result;
            //}


            ///// <summary>
            /////Sign
            ///// <param name="content">内容</param>
            ///// <param name="epoch">时间戳</param>
            ///// <param name="keyValue">key</param>
            ///// <param name="secret">secret</param>
            ///// <param name="charset">URL编码</param>
            ///// <returns>Sign签名</returns>
            //public static string Encrypt(String content, long epoch, String keyValue, string secret, String charset)
            //{
            //    if (keyValue != null)
            //    {
            //        return MD5(content + epoch + keyValue + secret, 32);
            //    }
            //    return MD5(content, 32);
            //}
            /////<summary>
            ///// 字符串MD5加密(大寫)
            /////</summary>
            /////<param name="str">要加密的字符串</param>
            /////<param name="code">加密成多少位</param>
            /////<returns>密文</returns>
            //public static string MD5(string str, int code)
            //{
            //    if (code == 16) //16位MD5加密(取32位加密的9~25字符)
            //    {
            //        return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToUpper().Substring(8, 16);
            //    }
            //    else//32位加密
            //    {
            //        return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToUpper();
            //    }
            //}


            ///// <summary>
            ///// 从一个对象信息生成Json串
            ///// </summary>
            ///// <param name="obj">对象</param>
            ///// <returns>Json串</returns>
            //public static string ObjectToJson(object obj)
            //{
            //    DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
            //    MemoryStream stream = new MemoryStream();
            //    serializer.WriteObject(stream, obj);
            //    byte[] dataBytes = new byte[stream.Length];
            //    stream.Position = 0;
            //    stream.Read(dataBytes, 0, (int)stream.Length);
            //    return Encoding.UTF8.GetString(dataBytes);
            //}

            ///// <summary>
            ///// 从一个Json串生成对象信息
            ///// </summary>
            ///// <param name="jsonString">Json串</param>
            ///// <param name="obj">对象</param>
            ///// <returns>对象</returns>
            //public static object JsonToObject(string jsonString, object obj)
            //{
            //    DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
            //    MemoryStream mStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
            //    return serializer.ReadObject(mStream);
            //}
        }
Пример #3
0
 /// <summary>
 /// 快递100电子面单
 /// </summary>
 /// <param name="pms">参数</param>
 /// <returns></returns>
 /// <remarks> 2017-12-13 廖移凤</remarks>
 public abstract KdOrderNums OrderTracesSubByJson(KdOrderParam pms);