public static string LianZhongCode(string imgUrl)
        {
            var img64 = NetHandle.GetImageAsBase64Url(imgUrl).Result;
            LianZhongRequestModel param = new LianZhongRequestModel();

            param.captchaData    = img64;
            param.softwareId     = 0;
            param.softwareSecret = "";
            param.username       = "";
            param.password       = "";
            // captchaType 类型,查看:https://www.jsdati.com/docs/price
            param.captchaType = 1001;
            using (var _client = new HttpClient())
            {
                _client.DefaultRequestHeaders.Add("host", "v2-api.jsdama.com");
                _client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36");
                StringContent content = new StringContent(JsonConvert.SerializeObject(param), Encoding.UTF8,
                                                          "application/json");
                HttpResponseMessage response = _client.PostAsync(ApiCode, content).Result;
                string result = response.Content.ReadAsStringAsync().Result;
                Console.WriteLine("返回结果--" + result);
                if (!result.Contains("recognition"))
                {
                    return(string.Empty);
                }
                dynamic resultObj   = JsonConvert.DeserializeObject(result);
                var     data        = resultObj["data"];
                string  recognition = data["recognition"];
                Console.WriteLine("验证码:" + recognition);
                return(recognition.Trim());
            }
        }
        /// <summary>
        /// 斐斐打码
        /// </summary>
        /// <param name="imgUrl"></param>
        /// <returns></returns>
        public static string FeifeiCode(string imgUrl)
        {
            var    img64        = NetHandle.GetImageAsBase64Url(imgUrl).Result;
            var    timestamp    = TimeHelper.GetCurrentTimeUnix();
            string cur_tm       = TimeHelper.GetCurrentTimeUnix();
            string sign         = SecurityHelper.CalcSign(PdId, PdKey, cur_tm);
            string asign        = SecurityHelper.CalcSign(AppId, AppKey, cur_tm);
            var    predict_type = "30400";
            var    imgBytes     = NetHandle.ReadBytes(imgUrl);
            var    values       = new Dictionary <string, string>
            {
                { "user_id", PdId },
                { "timestamp", timestamp },
                { "sign", sign },
                { "app_id", AppId },
                { "asign", asign },
                { "predict_type", predict_type },
                { "img_data", img64 }
            };

            using (var _client = new HttpClient())
            {
                var content = new FormUrlEncodedContent(values);
                HttpResponseMessage response = _client.PostAsync(ApiCode, content).Result;
                string result = response.Content.ReadAsStringAsync().Result;
                var    data   = JsonConvert.DeserializeObject <HttpRspData>(result);
                //反序列化的类型来自官网demo
                if (!string.IsNullOrEmpty(data.RspData))
                {
                    // 附带附加信息
                    HttpExtraInfo einfo = JsonConvert.DeserializeObject <HttpExtraInfo>(data.RspData);
                    data.einfo = einfo;
                }
                var resultCode = data.einfo.result.Trim();
                Console.WriteLine("code:" + resultCode);
                return(resultCode);
            }
        }