1. 程式人生 > 實用技巧 >淘寶客根據優惠券url更新優惠券資訊

淘寶客根據優惠券url更新優惠券資訊

            string m_h5_tk = "6ad772f2d0833a8e302c5ae68d65eaa0";
            string time = ToUnixTimestampBySeconds().ToString();
            string appKey = "12574478";
            string data = JsonConvert.SerializeObject(new { e = "w4TDo/jOMecNfLV8niU3RxrSI/Oabn6qNg4Gqf8CT4AKuDLwELihnRbQhr+5FtsAh9KaCsCm+R32yVMpbbWtUWwCdh1fz0zYK5wEWaT+OkzWZTH/haUuJ+3FJUPORYvyhPbd0JgRLDq3GXpSbfs48lGikzdUqsEO7RwD1Eg9p5/o27RMW2YwFNweCPWKo1fUyUxONJCwrinluAYBRglsbQ==" });
            string sign = GetSign(string.Join('&', new string[] { m_h5_tk, time, appKey, data }));
            data = HttpUtility.UrlEncode(data);
            string apiUrl = $"https://acs.m.taobao.com/h5/mtop.alimama.union.hsf.coupon.get/1.0/?jsv=2.4.0&appKey=12574478&t={time}&sign={sign}&api=mtop.alimama.union.hsf.coupon.get&v=1.0&AntiCreep=true&AntiFlood=true&data={data}";

 m_h5_tk為訪問mtop.alimama.union.hsf.coupon.get介面連結時,返回的cookies資料,注,返回cookies資料格式為:_m_h5_tk= 1c08cb77a7795d64c543cd1728e0135c_1529065507043,這裡只使用前半部分,在這裡是1c08cb77a7795d64c543cd1728e0135c;

time為毫秒級時間戳;

appKey為固定的值12574478;

data為json字串,e為優惠券url中的引數e的值;

 sign簽名

        /// <summary>
        ///  時間轉時間戳Unix-時間戳精確到秒
        /// </summary> 
        private static long ToUnixTimestampBySeconds()
        {
            DateTimeOffset dto = new DateTimeOffset(DateTime.Now);
            return dto.ToUnixTimeMilliseconds();
        }
        private static string GetSign(string strParameter)
        {
            using (var md5 = MD5.Create())
            {

                var result = md5.ComputeHash(Encoding.UTF8.GetBytes(strParameter));
                var strResult = BitConverter.ToString(result);
                var sign = strResult.Replace("-", "").ToLower();
                return sign;
            }
        }