예제 #1
0
        /// <summary>
        /// 构建AK查询字符串
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="request"></param>
        /// <returns></returns>
        private string BuildAkQueryString <T>(IBaiduRequest <T> request)
            where T : BaiduResponse
        {
            var dictionary = request.GetParameters();

            dictionary.Add("ak", Ak);
            return(UrlUtil.BuildQuery(dictionary));
        }
예제 #2
0
        /// <summary>
        /// 构建SN查询字符串
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="request"></param>
        /// <returns></returns>
        private string BuildSNQueryString <T>(IBaiduRequest <T> request)
            where T : BaiduResponse
        {
            var dictionary = request.GetParameters();

            if (request.RequiredTimestamp)
            {
                // 用户未设置timestamp时自动增加,若已经设置timestamp,则使用用户设置的值
                if (!dictionary.ContainsKey("timestamp"))
                {
                    dictionary.Add("timestamp", DateTime.Now.ToTimestamp().ToString());
                }
            }

            var sn = AKSNCaculator.CaculateAKSN(Ak, Sk, request.Address, dictionary);

            dictionary.Add("sn", sn);
            return(UrlUtil.BuildQuery(dictionary));
        }