public String post(String method, Dictionary <String, String> parames, Dictionary <String, object> files, String fileKey)
        {
            Dictionary <String, String> completeParam = buildCompleteParams(method, parames);
            String         paramStr = buildParamStr(completeParam);
            HttpWebRequest request;

            if (files == null || files.Count == 0)
            {
                request           = WebRequest.Create(apiEntry + "?" + paramStr) as HttpWebRequest;
                request.Method    = "POST";
                request.UserAgent = DefaultUserAgent;
            }
            else
            {
                request = KDTUtil.MultipartFormDataPost(apiEntry + "?" + paramStr, DefaultUserAgent, files, fileKey);
            }

            HttpWebResponse result    = request.GetResponse() as HttpWebResponse;
            StreamReader    sr        = new StreamReader(result.GetResponseStream(), Encoding.Default);
            string          strResult = sr.ReadToEnd();

            sr.Close();
            Console.WriteLine(strResult);
            return(strResult);
        }
        Dictionary <String, String> buildCompleteParams(String method, Dictionary <String, String> parames)
        {
            Dictionary <String, String> commonParams = getCommonParams(method);

            foreach (var key in parames.Keys)
            {
                if (commonParams.ContainsKey(key))
                {
                    throw new Exception("参数名冲突");
                }

                commonParams.Add(key, parames[key]);
            }
            commonParams.Add(KDTUtil.SIGN_KEY, KDTUtil.sign(appSecret, commonParams, method));
            return(commonParams);
        }