public void PostProcessPayment(PaymentInfo order)
        {
            DateTime datatime = DateTime.Now;
            string v_hms = datatime.ToString("HHmmss", System.Globalization.DateTimeFormatInfo.InvariantInfo);
            string v_ymd = datatime.ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
            string v_mid = "1204790601";
            string payOnlineKey = "a75ee55ded934c96968f747c809005b9";
            string v_oid = order.SysOrderNo;
            string v_url = order.ResultNotifyURL;
            Random rnd = new Random();
            int Sequence = (v_oid.Substring(v_oid.Length - 10, 10)).ToInt() + rnd.Next(1, 9);//序列号,保证唯一性
            string transaction_id = v_mid + v_ymd + Sequence;
            string amount = decimal.Round(order.OrderAmount.ToDecimal() * 100, 0) + "";
            string md5string = PayHelper.GetMD5("cmdno=1&date=" + v_ymd + "&bargainor_id=" + v_mid
                         + "&transaction_id=" + transaction_id + "&sp_billno=" + v_oid
                         + "&total_fee=" + amount + "&fee_type=1&return_url=" + v_url
                         + "&attach=my_magic_string&key=" + payOnlineKey, "");

            HttpHelper http = new HttpHelper();
            http.Url = order.PayOnlineProviderUrl;
            http.Add("cmdno", "1");                         //业务代码,1表示支付
            http.Add("date", v_ymd);                        //商户日期
            http.Add("bank_type", "0");                     //银行类型:财付通,0
            http.Add("desc", v_oid);                        //交易的商品名称
            http.Add("purchaser_id", "");                   //用户(买方)的财付通帐户,可以为空
            http.Add("bargainor_id", v_mid);                //商家的商户号
            http.Add("transaction_id", transaction_id);     //交易号(订单号)
            http.Add("sp_billno", v_oid);                   //商户系统内部的订单号
            http.Add("total_fee", amount);                  //总金额,以分为单位
            http.Add("fee_type", "1");                      //现金支付币种,1人民币
            http.Add("return_url", v_url);                  //接收财付通返回结果的URL
            http.Add("attach", "attachmy_magic_string");          //商家数据包,原样返回
            http.Add("sign", md5string);                    //MD5签名     
            http.Post();
        }
        public void PostProcessPayment(PaymentInfo order)
        {
            string PUB32 = "30819c300d06092a864886f70d010101050003818a003081860281807cd21042439755abab54981724a366a66913258fcbc6075555e973d48137e22eedd5ab5f3be57404a30795e71f6f4c8f31d4715e3e0d1985426ed51c131bee24448202f3c777558c0e5b23cac643a5bed52719fef620548c6608377d5a86fd57cb8cb67272656cbd9dd8d796dc5613400edb1905b7802a7e7bcd673c3d23d3bf020111";//公钥前30位 新接口使用
            string MERCHANTID = "105584073990057";                  //商户代码(客户号)
            string POSID = "100000631";                             //商户柜台代码
            string BRANCHID = "442000000";                          //分行代码
            string ORDERID = order.SysOrderNo;                      //定单号
            string PAYMENT = order.OrderAmount;                     //付款金额 
            string MAC = "MERCHANTID=" + MERCHANTID + "&POSID=" + POSID
                       + "&BRANCHID=" + BRANCHID + "&ORDERID=" + ORDERID
                       + "&PAYMENT=" + PAYMENT + "&CURCODE=01"
                       + "&TXCODE=520100" + "&REMARK1="
                       + "&REMARK2=";

            HttpHelper http = new HttpHelper();
            http.Url = order.PayOnlineProviderUrl;
            http.Add("INTER_FLAG", "0");                            //商户接口类型 0为旧接口,1为新接口
            http.Add("MERCHANTID", MERCHANTID);
            http.Add("POSID", POSID);
            http.Add("BRANCHID", BRANCHID);
            http.Add("PUB32", PUB32);
            http.Add("ORDERID", ORDERID);
            http.Add("PAYMENT", PAYMENT);                           //付款金额 
            http.Add("CURCODE", "01");                              //币种缺省为01-人民币 
            http.Add("TXCODE", "520100");                           //交易码
            http.Add("REMARK1", "");                                //备注1
            http.Add("REMARK2", "");                                //备注2
            http.Add("DOTYPE", "0");                                //支付类型 0为网上银行支付,1为E付卡支付
            http.Add("MAC", PayHelper.GetMD5(MAC, "").ToLower());   //MAC校验域
            http.Post();
        }
Exemple #3
0
        public static void BeforeFeature()
        {
            //_testServer = TestServer.Create(app =>
            //{
            //    var startup = new Startup();
            //    startup.Configuration(app);

            //    //var config = new HttpConfiguration();
            //    //WebApiConfig.Configure(config);

            //    //app.UseWebApi(config);
            //});

            TestUserManager.AddUserIfNotExists(TestUserName, TestPwd);

            _authApiTestServer = TestServer.Create<AuthServer.Startup>();
            _authApiHttpHelper = new HttpHelper(_authApiTestServer.HttpClient);
            var request = String.Format("grant_type=password&username={0}&password={1}", TestUserName, TestPwd);
            _bearerToken = _authApiHttpHelper.Post<AccessTokenResponse>("token", request).Token;

            _todoApiTestServer = TestServer.Create<Api.Startup>();
            _todoApiHttpHelper = new HttpHelper(_todoApiTestServer.HttpClient);

            SetToDoContextConnectionString();
        }
Exemple #4
0
 /// <summary>
 /// 获取快递进度信息
 /// </summary>
 /// <returns>是否处理成功</returns>
 public static bool HandleProecssInfo(string ProxyIp)
 {
     List<ExpressInfo> listExpressInfo = GetAllExpressInfo();
     HttpHelper http = new HttpHelper();
     string url = string.Empty;
     string html = string.Empty;
     int SuccessCount = 0;
     foreach (var ExpressInfo in listExpressInfo)
     {
         try
         {
             //进度查询URL
             url = string.Format("http://www.kuaidi100.com/query?type={0}&postid={1}&id=1&valicode=&temp=0.7078260387203143", ExpressInfo.ExpressCompanyCode, ExpressInfo.ExpressNo);
             html = GetHTML(url, ProxyIp);
             if (html == null)
             {
                 TaskLog.ExpressProgressLogInfo.WriteLogE(string.Format("url:{0},ip:{1}获取快递进度内容出错", url, ProxyIp));
                 continue;
             }
             TaskLog.ExpressProgressLogInfo.WriteLogE(string.Format("开始查询快递单号{0}进度信息", ExpressInfo.ExpressNo));
             if (ParseExpressInfo(html, ExpressInfo))
             {
                 SuccessCount++;
                 TaskLog.ExpressProgressLogInfo.WriteLogE(string.Format("结束快递单号{0}进度信息查询", ExpressInfo.ExpressNo));
             }
             //等待10s再次查询其它单号信息,避免间隔太小ip被封
             Thread.Sleep(10000);
         }
         catch (Exception ex)
         {
             TaskLog.ExpressProgressLogError.WriteLogE(string.Format("url:{0},ip:{1}获取快递进度内容出错", url, ProxyIp), ex);
         }
     }
     return SuccessCount == listExpressInfo.Count;
 }
        /// <summary>
        ///     创建菜单
        /// </summary>
        /// <param name="menu"></param>
        /// <returns></returns>
        public BasicResult CreateMenu(Menu menu)
        {
            var hh = new HttpHelper(CreateUrl);
            var r = hh.Post<BasicResult>(menu.ToString(), new FormData {{"access_token", AccessToken}});

            return r;
        }
Exemple #6
0
 /// <summary>
 /// 发送短信
 /// </summary>
 /// <param name="receiver">短信接收人手机号码</param>
 /// <param name="content">短信内容</param>
 /// <returns>发送状态</returns>
 public static SMSCode SendMessage(string receiver, string content)
 {
     try
     {
         //创建Httphelper对象
         HttpHelper http = new HttpHelper();
         //创建Httphelper参数对象
         HttpItem item = new HttpItem()
         {
             URL = string.Format("{0}?phone={1}&content=验证码:{2}", SmsAPI, receiver, content),//URL     必需项    
             Method = "get",//可选项 默认为Get   
             ContentType = "text/plain"//返回类型    可选项有默认值 ,
         };
         item.Header.Add("apikey", Apikey);
         //请求的返回值对象
         HttpResult result = http.GetHtml(item);
         JObject jo = JObject.Parse(result.Html);
         JToken value = null;
         if (jo.TryGetValue("result", out value))
         {
             return EnumHelper.IntToEnum<SMSCode>(Convert.ToInt32(value.ToString()));
         }
         return SMSCode.SystemBusy;
     }
     catch (Exception ex)
     {
         LogHelper.WriteLog("短信发送失败", ex);
         return SMSCode.Exception;
     }
 }
        private void SendAnalytics(string FacebookAppId = null)
        {
            try
            {
                if (!AnalyticsSent)
                {
                    AnalyticsSent = true;

#if !(WINDOWS_PHONE)
                    Version assemblyVersion = typeof(FacebookSessionClient).GetTypeInfo().Assembly.GetName().Version;
#else                    
                    string assemblyVersion = Assembly.GetExecutingAssembly().FullName.Split(',')[1].Split('=')[1];
#endif
                    string instrumentationURL = String.Format("https://www.facebook.com/impression.php/?plugin=featured_resources&payload=%7B%22resource%22%3A%22microsoft_csharpsdk%22%2C%22appid%22%3A%22{0}%22%2C%22version%22%3A%22{1}%22%7D",
                            FacebookAppId == null ? String.Empty : FacebookAppId, assemblyVersion);

                    HttpHelper helper = new HttpHelper(instrumentationURL);

                    // setup the read completed event handler to dispose of the stream once the results are back
                    helper.OpenReadCompleted += (o, e) => { if (e.Error == null) using (var stream = e.Result) { }; };
                    helper.OpenReadAsync();
                }
            }
            catch { } //ignore all errors
        }
        private static void DeleteTemplates(string apikey, DirectoryInfo backupDir, 
                                               string templateName = null)
        {
            var reader = new JsonReader();
            var httpHelper = new HttpHelper();

            //make backups.. always
            var templates = ExportTemplatesToFolder(apikey, backupDir, templateName);

            if (templates.Any())
            {

                foreach (var template in templates)
                {
                    //check if we wanted to delete a single template
                    if (!string.IsNullOrWhiteSpace(templateName)
                     && !templateName.Equals(template.Key, StringComparison.OrdinalIgnoreCase))
                    {
                        //this seems to be the only way to get single template by name (not slug!)
                        continue;
                    }

                    dynamic t = reader.Read(template.Value);

                    //delete, take slug and use as name
                    string name = t.slug;

                    var deleteTemplate = httpHelper.Post(Mandrillurl + "/templates/delete.json", new {key = apikey, name}).Result;

                    Console.WriteLine(string.Format("Template delete result {0}: {1} - {2}", name, deleteTemplate.Code, deleteTemplate.StatusDescription));
                }
            }
        }
Exemple #9
0
 protected void Button1_Click(object sender, EventArgs e)
 {
     //提交的底层方法!!!
     string u = url.Text.Trim();
     string d = data.Text.Trim();
     HttpHelper http = new HttpHelper();
     HttpItem item = new HttpItem()
     {
         URL =u,//URL     必需项
         Method = "post",//URL     可选项 默认为Get
         IsToLower = false,//得到的HTML代码是否转成小写     可选项默认转小写
         Cookie = "",//字符串Cookie     可选项
         Referer = "",//来源URL     可选项
         Postdata = d.ToString(),//Post数据     可选项GET时不需要写
         PostEncoding =Encoding.UTF8 ,
         Timeout = 100000,//连接超时时间     可选项默认为100000
         ReadWriteTimeout = 30000,//写入Post数据超时时间     可选项默认为30000
         UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
         ContentType = "application/x-www-form-urlencoded",//返回类型    可选项有默认值
         Allowautoredirect = true,//是否根据301跳转     可选项
         //CerPath = "d:\123.cer",//证书绝对路径     可选项不需要证书时可以不写这个参数
         //Connectionlimit = 1024,//最大连接数     可选项 默认为1024
         ProxyIp = "",//代理服务器ID     可选项 不需要代理 时可以不设置这三个参数
         ResultType = ResultType.String
     };
     HttpResult result = http.GetHtml(item);
     res.Text = result.Html;
 }
Exemple #10
0
        private SearchModels GetSearchModels(string postdata)
        {
            HttpHelper http = new HttpHelper();
            HttpItem item = new HttpItem()
            {
                URL = "http://search.jiayuan.com/v2/search_v2.php",//URL     必需项
                Method = "Post",//URL     可选项 默认为Get
                Timeout = 100000,//连接超时时间     可选项默认为100000
                ReadWriteTimeout = 30000,//写入Post数据超时时间     可选项默认为30000
                IsToLower = false,//得到的HTML代码是否转成小写     可选项默认转小写
                Cookie = "",
                UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36",//用户的浏览器类型,版本,操作系统     可选项有默认值
                Accept = "text/html, application/xhtml+xml, */*",//    可选项有默认值
                ContentType = "application/x-www-form-urlencoded; charset=UTF-8",
                Postdata = postdata,
            };
            HttpResult result = http.GetHtml(item);
            string html = result.Html;

            var json = html.Replace("##jiayser##", "").Replace(@"##jiayser##//", "");
            json = json.Substring(0, json.Length - 2);
            JavaScriptSerializer jss = new JavaScriptSerializer();
            var list = jss.Deserialize(json, typeof(SearchModels)) as SearchModels;
            list.userInfo.ForEach(x=> {
                x.randTag = System.Web.HttpUtility.HtmlDecode(x.randTag);
                x.randListTag = System.Web.HttpUtility.HtmlDecode(x.randListTag);
                x.matchCondition = System.Web.HttpUtility.HtmlDecode(x.matchCondition);
                x.shortnote = System.Web.HttpUtility.HtmlDecode(x.shortnote);
            });
            return list;
        }
        async public void  AcquireLicenseReactively(PlayReadyLicenseAcquisitionServiceRequest licenseRequest)
        {
            Exception exception = null;
            
            try
            {   
                _serviceRequest = licenseRequest;
                ConfigureServiceRequest();

                if( RequestConfigData.ManualEnabling )
                {
                    HttpHelper httpHelper = new HttpHelper( licenseRequest );
                    await httpHelper.GenerateChallengeAndProcessResponse();
                }
                else
                {
                    await licenseRequest.BeginServiceRequest();
                }
            }
            catch( Exception ex )
            {
                exception = ex;
            }
            finally
            {
                LAServiceRequestCompleted( licenseRequest, exception );
            }
        }
Exemple #12
0
 public static ILinkService FakeLinkService()
 {
     ILinkRepository linkRepository = FakeLinkRepository();
     ILinkCrawlerService linkCrawler = FakeLinkCrawler();
     HttpHelper httpHelper = new HttpHelper();
     return new LinkService(linkRepository, linkCrawler, httpHelper);
 }
 /// <summary>
 /// 查询菜单
 /// </summary>
 /// <returns></returns>
 public Menu QueryMenu()
 {
     var hh = new HttpHelper(QueryUrl);
     var oo = new { menu = new Menu() };
     var or = hh.GetAnonymous(new FormData { { "access_token", AccessToken } }, oo);
     var r = or.menu;
     return r;
 }
 public Reddit()
 {
     _httpHelper = new HttpHelper();
     API_DELAY = int.Parse(ConfigurationManager.AppSettings["APIDelay"]);
     CACHE_DIRECTORY = ConfigurationManager.AppSettings["CacheDirectory"];
     _timeOfLastAPIRequest = null;
     _retrievedComments = new List<string>();
 }
Exemple #15
0
        /// <summary>
        /// 获取每次操作微信API的Token访问令牌
        /// </summary>
        /// <param name="corpid">企业Id</param>
        /// <param name="corpsecret">管理组的凭证密钥</param>
        /// <returns></returns>
        public string GetAccessTokenNoCache(string corpid, string corpsecret)
        {
            var url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}",
                                    corpid, corpsecret);

            HttpHelper helper = new HttpHelper();
            string result = helper.GetHtml(url);
            string regex = "\"access_token\":\"(?<token>.*?)\"";

            string token = CRegex.GetText(result, regex, "token");
            return token;
        }
Exemple #16
0
 /// <summary>
 /// 获取在线用户实例
 /// </summary>
 /// <returns>网页实例</returns>
 public static string GetOnline()
 {
     var http = new HttpHelper();
     var item = new HttpItem
         {
             URL = "http://home.51cto.com/index.php?s=/Friend/online/p/",
             Cookie = User.Cookie,
         };
     item.Header.Add("X-Requested-With", "XMLHttpRequest");
     HttpResult result = http.GetHtml(item);
     string html = result.Html;
     return html;
 }
Exemple #17
0
 public static string GetPage(string url)
 {
     var http = new HttpHelper();
     var item = new HttpItem
     {
         URL = url,
         Cookie = User.Cookie,
     };
     item.Header.Add("X-Requested-With", "XMLHttpRequest");
     HttpResult result = http.GetHtml(item);
     string html = result.Html;
     return html;
 }
        /// <summary>
        ///     查询分组。
        ///     失败时抛出WxException异常
        /// </summary>
        /// <returns></returns>
        public WxGroupQueryResult Query()
        {
            var s = new HttpHelper(QueryUrl).GetString(new FormData
            {
                {"access_token", AccessToken}
            });
            var ret = JsonConvert.DeserializeObject<WxGroupQueryResult>(s);

            if (ret.Groups == null)
                throw new WxException(JsonConvert.DeserializeObject<BasicResult>(s));

            return ret;
        }
        public void PostProcessPayment(PaymentInfo order)
        {
            DateTime datatime = DateTime.Now;
            string v_hms = datatime.ToString("HHmmss", System.Globalization.DateTimeFormatInfo.InvariantInfo);
            string v_ymd = datatime.ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
            string icbcAmount = decimal.Ceiling(order.OrderAmount.ToDecimal() * 100).ToString(); //订单金额,以分为单位
            StringBuilder TranData = new StringBuilder();
            TranData.Append("<?xml version=\"1.0\" encoding=\"GBK\" standalone=\"no\"?>");
            TranData.Append("<B2CReq>");
            TranData.Append("<interfaceName>ICBC_PERBANK_B2C</interfaceName>");         //接口名
            TranData.Append("<interfaceVersion>1.0.0.3</interfaceVersion>");            //版本号
            TranData.Append("<orderInfo>");
            TranData.Append("<orderDate>" + v_ymd + v_hms + "</orderDate>");            //交易日期时间格式为:YYYYMMDDHHmmss
            TranData.Append("<orderid>" + order.SysOrderNo + "</orderid>");             //订单号
            TranData.Append("<amount>" + icbcAmount + "</amount>");                     //订单金额
            TranData.Append("<curType>001</curType>");                                  //支付币种
            TranData.Append("<merID>4000EC20001125</merID>");                           //商户代码
            TranData.Append("<merAcct>4000023819200132437</merAcct>");                  //商户账号
            TranData.Append("</orderInfo>");
            TranData.Append("<custom>");
            TranData.Append("<verifyJoinFlag>0</verifyJoinFlag>");                      //检验联名标志
            TranData.Append("<Language>ZH_CN</Language>");                              //语言版本
            TranData.Append("</custom>");
            TranData.Append("<message>");
            TranData.Append("<goodsID></goodsID>");                                     //商品编号
            TranData.Append("<goodsName></goodsName>");                                 //商品名称
            TranData.Append("<goodsNum></goodsNum>");                                   //商品数量
            TranData.Append("<carriageAmt></carriageAmt>");                             //已含运费金额
            TranData.Append("<merHint></merHint>");                                     //商城提示
            TranData.Append("<remark1></remark1>");                                     //备注字段1
            TranData.Append("<remark2></remark2>");                                     //备注字段2
            TranData.Append("<merURL>" + order.ResultNotifyURL + "</merURL>");          //返回商户URL
            TranData.Append("<merVAR></merVAR>");                                       //返回商户变量
            TranData.Append("</message>");
            TranData.Append("</B2CReq>");
            string tranData = TranData.ToString();
            ICBCEBANKUTILLib.B2CUtil icbc = new ICBCEBANKUTILLib.B2CUtil();
            int IcbcNew = icbc.init(HttpContext.Current.Server.MapPath("key/icbc/ICBC_Produce.crt"), HttpContext.Current.Server.MapPath("key/icbc/ICBC_Produce.crt"), HttpContext.Current.Server.MapPath("key/icbc/ICBC_Produce.key"), "12345679");
            string Icbcsign = icbc.signC(tranData, tranData.Length);
            string merCert = icbc.getCert(1);
            tranData = PayHelper.Base64Code(tranData);

            HttpHelper http = new HttpHelper();
            http.Url = order.PayOnlineProviderUrl;
            http.Add("interfaceName", "ICBC_PERBANK_B2C");    //接口名
            http.Add("interfaceVersion", "1.0.0.3");          //版本号
            http.Add("tranData", tranData);         //交易数据
            http.Add("merSignMsg", Icbcsign);       //订单签名数据
            http.Add("merCert", merCert);           //商城公匙 
            http.Post();
        }
Exemple #20
0
    private void setDirectAdminLogin()
    {
        HttpHelper httpHelper = new HttpHelper();
        string ip = httpHelper.GetUserIp(HttpContext.Current);

        if ("127.0.0.1".Equals(ip))
        {
            Button1.Visible = true;
        }
        else
        {
            Button1.Visible = false;
        }
    }
Exemple #21
0
        /// <summary>
        /// 创建二维码,获取二维码的ticket(用ticket可获取二维码的图)
        /// </summary>
        /// <param name="qrCode"></param>
        /// <returns></returns>
        public QrCodeResult Create(QrCode qrCode)
        {
            var s = new HttpHelper(CreateUrl).PostString(JsonConvert.SerializeObject(qrCode), new FormData
            {
                {"access_token", AccessToken}
            });

            var ret = JsonConvert.DeserializeObject<QrCodeResult>(s);

            if (string.IsNullOrEmpty(ret.ticket))
                throw new WxException(JsonConvert.DeserializeObject<BasicResult>(s));

            return ret;
        }
        /// <summary>
        ///     获取第一页(前10000用户)。
        ///     如果需要更多,请使用回调。
        /// </summary>
        /// <returns></returns>
        public WxUserListResult GetFirstPageUserList()
        {
            var s = new HttpHelper(UserListUrl).GetString(new FormData
            {
                {"access_token", AccessToken},
                {"next_openid", string.Empty}
            });

            var ret = JsonConvert.DeserializeObject<WxUserListResult>(s);
            if (ret.data == null)
                throw new WxException(JsonConvert.DeserializeObject<BasicResult>(s));

            return ret;
        }
 /// <summary>
 ///     查询菜单
 /// </summary>
 /// <returns></returns>
 public Menu QueryMenu()
 {
     var hh = new HttpHelper(QueryUrl);
     var oo = new {menu = new Menu()};
     var json = hh.GetString(new FormData {{"access_token", AccessToken}});
     var or = JsonConvert.DeserializeAnonymousType(json, oo);
     var ret = or.menu;
     if (ret == null)
     {
         var retTemp = JsonConvert.DeserializeObject<BasicResult>(json);
         throw new WxMenuException(retTemp.ErrCode, retTemp.ErrMsg);
     }
     return ret;
 }
Exemple #24
0
        public static JsonMessage Send(string phone, string sendMsg)
        {
            sendMsg = HttpUtility.UrlEncode(sendMsg, Encoding.GetEncoding("GBK"));
            string res = string.Empty;
            JsonMessage ret = new JsonMessage();
            try
            {
                string SMSUserName = System.Configuration.ConfigurationManager.AppSettings["SMSUserName"];
                string SMSPassWord = System.Configuration.ConfigurationManager.AppSettings["SMSPassWord"];
                string SMSServiceUrl = System.Configuration.ConfigurationManager.AppSettings["SMSServiceUrl"];

                HttpItem parm = new HttpItem();
                parm.ResultType = ResultType.String;
                parm.URL = string.Format("{0}?name={1}&password={2}&mobile={3}&message={4}",
                    SMSServiceUrl, SMSUserName, SMSPassWord, phone, sendMsg);

                HttpHelper httpHelper = new HttpHelper();
                HttpResult httpResult = httpHelper.GetHtml(parm);
                res = httpResult.Html;
                if (httpResult.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    string[] str = res.Split(',');
                    if (str[0] == "succ")
                    {
                        ret.Info = "发送成功";
                        ret.Status = true;
                    }
                    else
                    {
                        ret.Info = "发送失败,返回内容:" + httpResult.StatusCode + "   " + res;
                        ret.Status = false;
                        ret.Data = res;
                    }
                }
                else
                {
                    ret.Info = "发送失败,返回内容:" + httpResult.StatusCode + "   " + res;
                    ret.Status = false;
                    ret.Data = res;
                }
            }
            catch (Exception ex)
            {
                ret.Info = ex.Message + ex.InnerException + ex.Source + ex.TargetSite + ex.StackTrace;
                ret.Data = res;
                ret.Status = false;
            }
            return ret;
        }
Exemple #25
0
 private static string GetStringFrom(string url)
 {
     var helper = new HttpHelper(url);
     helper.HttpWebRequest.AutomaticDecompression = System.Net.DecompressionMethods.GZip | System.Net.DecompressionMethods.Deflate;
     helper.HttpWebRequest.Proxy = null;
     helper.HttpWebRequest.ServicePoint.ConnectionLimit = Int32.MaxValue;
     helper.HttpWebRequest.ContentType = "text/html; charset=utf-8";
     using (var stream = helper.OpenRead())
     {
         using (var reader = new StreamReader(stream))
         {
             return reader.ReadToEnd();
         }
     }
 }
Exemple #26
0
        public void QiangGou()
        {
            //AppendText(cookies);//打印
            HttpHelper http = new HttpHelper();
            HttpItem item = new HttpItem()
            {
                URL = "http://tc.hd.xiaomi.com/hdget?callback=hdcontrol",
                UserAgent = "Mozilla/5.0 (Linux; U; Android 4.0.4; zh-cn; MI-ONE C1 Build/IMM76D) UC AppleWebKit/534.31 (KHTML, like Gecko) Mobile Safari/534.31",
                Host = "tc.hd.xiaomi.com",
                Cookie = cookies
            };
            HttpResult result = http.GetHtml(item);
            string strJson = result.Html;
            if (strJson.Contains("hdcontrol"))
            {
                strJson = strJson.Replace("hdcontrol(", "").Replace(")", "");
                xiaomiEntity xm = JsonConvert.DeserializeObject<xiaomiEntity>(strJson);
                bool allow = xm.Status.Allow;
                string Hdurl = xm.Status.Miphone.Hdurl;

                if (!string.IsNullOrEmpty(Hdurl))
                {
                    string url = "http://t.hd.xiaomi.com/s/" + xm.Status.Miphone.Hdurl + "&_m=1";
                    if (allow)
                    {
                        lblAllow.Invoke(new Action(delegate() { lblAllow.Text = allow.ToString(); }));
                        txtUrl.Invoke(new Action(delegate() { txtUrl.Text = url; }));

                        TimerStop();
                    }
                    else
                    {
                        bool allowchecked = false;
                        ckbAllow.Invoke(new Action(delegate() { allowchecked = ckbAllow.Checked; }));
                        if (allowchecked == true)
                        {
                            txtUrl.Invoke(new Action(delegate() { txtUrl.Text = url; }));

                        }
                    }
                }
            }

            else
            {
                lblAllow.Invoke(new Action(delegate() { lblAllow.Text = "尚未开放"; }));
            }
        }
        public void PostProcessPayment(PaymentInfo order)
        {
            string encryptOrderData = string.Empty;//加密数据
            string pfx, bankcert; //证书 

            NEWCOM2Lib.seServer seServerObj = new NEWCOM2Lib.seServer();
            //读取商户证书
            seServerObj.readcert(ConfigManager.GetString("CMBCMerchantCertFile"));
            pfx = seServerObj.cert;
            //读取银行证书	 
            seServerObj.readcert(ConfigManager.GetString("CMBCBankCertFile"));
            bankcert = seServerObj.cert;
            DateTime datatime = DateTime.Now;
            string v_hms = datatime.ToString("HHmmss", System.Globalization.DateTimeFormatInfo.InvariantInfo);
            string v_ymd = datatime.ToString("yyyyMMdd", System.Globalization.DateTimeFormatInfo.InvariantInfo);
            StringBuilder md5Builder = new StringBuilder();
            md5Builder.Append(order.SysOrderNo + "|");//订单号
            md5Builder.Append(order.OrderAmount + "|");//交易金额
            md5Builder.Append("01|");//币种 01为人民币
            md5Builder.Append(v_ymd + "|");//交易日期 格式:20021010
            md5Builder.Append(v_hms + "|");//交易时间 格式:112647
            md5Builder.Append("01001|");//商户号
            md5Builder.Append("深圳普特投资发展有限公司|");//商户名称
            md5Builder.Append("备注1|");//备注1
            md5Builder.Append("备注2|");//备注1
            md5Builder.Append("0|");//是否实时返回标志   0:即时返回  1:查询
            md5Builder.Append(order.ResultNotifyURL + "|");//处理结果返回的URL
            md5Builder.Append("PT9999");//MAC   因采用了证书机制,此项可不用

            //加密,"1111"为商户私钥文件口令,生产环境改成正式口令
            seServerObj.EnvelopData(md5Builder.ToString(), bankcert, pfx, "1111");
            if (seServerObj.retCode == 0)
            {
                //加密成功,返回加密后的订单信息
                encryptOrderData = seServerObj.EnveData;
            }
            else
            {
                //加密出错 
                encryptOrderData = "Decrypt Error";
            }
            HttpHelper http = new HttpHelper();
            http.Url = order.PayOnlineProviderUrl;
            http.Add("orderinfo", encryptOrderData);
            http.Post();
        }
Exemple #28
0
        public override string CreateUrl(ParameterInfo mwAlipay)
        {
            var info = mwAlipay as MwAlipayInfo;
            if (info == null)
                return "";
            //请求业务参数详细
            string reqDataToken = "<direct_trade_create_req><notify_url>" + info.NotifyUrl + "</notify_url><call_back_url>" + info.ReturnUrl + "</call_back_url><seller_account_name>" + Config.GetSellerEmail() + "</seller_account_name><out_trade_no>" + info.OrderNum + "</out_trade_no><subject>" + HttpUtility.HtmlEncode(info.ProName) + "</subject><total_fee>" + info.Amount.ToString("0.00") + "</total_fee><merchant_url>" + info.ReturnUrl + "</merchant_url></direct_trade_create_req>";

            var sParaTempToken = new Dictionary<string, string>
                                     {
                                         {"partner", Config.GetPartnerId()},
                                         {"_input_charset", Config.Charset},
                                         {"sec_id", Config.SignType.ToUpper()},
                                         {"service", Config.ServiceTrade},
                                         {"format", Config.Format},
                                         {"v", Config.Version},
                                         {"req_id", info.OrderNum},
                                         {"req_data", reqDataToken}
                                     };
            var encoding = Encoding.GetEncoding(Config.Charset);
            sParaTempToken = Common.Utils.BuildParas(sParaTempToken, Config.GetKey(), Config.Charset);
            var paras = Common.Utils.CreateLinkString(sParaTempToken,encoding);
            var token = "";
            const string gateWay = Config.Getway + "_input_charset=" + Config.Charset;
            using (var http = new HttpHelper(gateWay, "POST", encoding, paras))
            {
                token = http.GetHtml();
            }
            //解析token
            var requestToken = Common.Utils.GetRequestToken(token,encoding);
            string reqData = "<auth_and_execute_req><request_token>" + requestToken + "</request_token></auth_and_execute_req>";
            var sParaTemp = new Dictionary<string, string>
                                {
                                    {"partner", Config.GetPartnerId()},
                                    {"_input_charset", Config.Charset.ToLower()},
                                    {"sec_id", Config.SignType.ToUpper()},
                                    {"service", Config.ServiceAuth},
                                    {"format", Config.Format},
                                    {"v", Config.Version},
                                    {"req_data", reqData}
                                };
            sParaTemp = Common.Utils.BuildParas(sParaTemp, Config.GetKey(), Config.Charset);

            return Common.Utils.BuildRequest(Config.Getway, sParaTemp);
        }
Exemple #29
0
    protected new void Page_Load(object sender, EventArgs e)
    {
        base.Page_Load(sender, e);
        authService = (IAuthService)ctx.GetObject("AuthService");

        if (!IsPostBack)
        {
            HttpHelper httpHelper = new HttpHelper();
            string ip = httpHelper.GetUserIp(HttpContext.Current);

            if ("127.0.0.1".Equals(ip))
            {
                hdnIsOK.Value = "Y";
            }
        }

        setInitPanel();
    }
        /// <summary>
        ///     一个公众账号,最多支持创建500个分组。
        ///     成功后返回新组的id和名称
        ///     失败时抛出WxException异常
        /// </summary>
        /// <param name="groupName"></param>
        /// <returns></returns>
        public WxGroupCreateResult Create(string groupName)
        {
            var ao = new
            {
                group = new {name = groupName}
            };
            var s = new HttpHelper(CreateUrl).PostString(JsonConvert.SerializeObject(ao), new FormData
            {
                {"access_token", AccessToken}
            });

            var ret = JsonConvert.DeserializeObject<WxGroupCreateResult>(s);

            if (ret.Group == null)
                throw new WxException(JsonConvert.DeserializeObject<BasicResult>(s));

            return ret;
        }
Exemple #31
0
        public void DataAccess()
        {
            List <StockInfo> stocklist = _oStockInfo.GetStockCodeList("");

            foreach (StockInfo s in stocklist)
            {
                HttpHelper http = new HttpHelper();
                HttpItem   item = new HttpItem();
                item.URL = "http://quotes.money.163.com/service/zycwzb_" + s.stockcode + ".html?type=report";

                item.Encoding         = Encoding.UTF8;
                item.Method           = "GET";
                item.Timeout          = 100000;
                item.ReadWriteTimeout = 30000;//写入Post数据超时时间,可选项默认为30000

                HttpResult result = http.GetHtml(item);

                string Result = result.Html.Replace("\r\n\t", "").Replace(" ", "");
                //string[] arrTemp = result.Html.Split('\r\n');
                string[] strlist = Result.Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                if (strlist.Length == 1)
                {
                    continue;
                }
                string[] reportDate    = strlist[0].Substring(0, strlist[0].Length - 1).Split(',');
                string[] JBMGSY        = strlist[1].Substring(0, strlist[1].Length - 1).Split(',');
                string[] MGJZC         = strlist[2].Substring(0, strlist[2].Length - 1).Split(',');
                string[] MGJYHDCSXJLJE = strlist[3].Substring(0, strlist[3].Length - 1).Split(',');
                string[] ZYYWSR        = strlist[4].Substring(0, strlist[4].Length - 1).Split(',');

                string[] ZYYWLR   = strlist[5].Substring(0, strlist[5].Length - 1).Split(',');
                string[] YYLR     = strlist[6].Substring(0, strlist[6].Length - 1).Split(',');
                string[] TZSY     = strlist[7].Substring(0, strlist[7].Length - 1).Split(',');
                string[] YYEYSZJE = strlist[8].Substring(0, strlist[8].Length - 1).Split(',');
                string[] LRZE     = strlist[9].Substring(0, strlist[9].Length - 1).Split(',');

                string[] JLR          = strlist[10].Substring(0, strlist[10].Length - 1).Split(',');
                string[] JLROUT       = strlist[11].Substring(0, strlist[11].Length - 1).Split(',');
                string[] JYHDCSDXJLJE = strlist[12].Substring(0, strlist[12].Length - 1).Split(',');
                string[] XJJXJDJWJCJE = strlist[13].Substring(0, strlist[13].Length - 1).Split(',');
                string[] ZZC          = strlist[14].Substring(0, strlist[14].Length - 1).Split(',');

                string[] LDZC         = strlist[15].Substring(0, strlist[15].Length - 1).Split(',');
                string[] ZFZ          = strlist[16].Substring(0, strlist[16].Length - 1).Split(',');
                string[] LDFZ         = strlist[17].Substring(0, strlist[17].Length - 1).Split(',');
                string[] GDQYBHSSGDQY = strlist[18].Substring(0, strlist[18].Length - 1).Split(',');
                string   strlist19    = strlist[19].Replace("\t", "");
                string[] JZCSYLJQ     = strlist19.Substring(0, strlist19.Length - 1).Split(',');

                for (int num = 1; num < reportDate.Length; num++)
                {
                    int IsHave = _StockCWInfo.GetRecordCount("Symbol='" + s.stockcode + "' AND ReportDate=CONVERT(datetime,'" + reportDate[num].ToString() + "',102)");
                    if (IsHave != 0)
                    {
                        continue;
                    }
                    StockCwInfo cw = new StockCwInfo();
                    cw.Code          = s.stockcode;
                    cw.ReportDate    = Convert.ToDateTime(reportDate[num].ToString());
                    cw.JBMGSY        = decimal.Parse(PublicTool.IsNumElseToZero(JBMGSY[num].ToString()));
                    cw.MGJZC         = decimal.Parse(PublicTool.IsNumElseToZero(MGJZC[num].ToString()));
                    cw.MGJYHDCSXJLJE = decimal.Parse(PublicTool.IsNumElseToZero(MGJYHDCSXJLJE[num].ToString()));
                    cw.ZYYWSR        = PublicTool.IsNumElseToZero(ZYYWSR[num].ToString());

                    cw.ZYYWLR   = PublicTool.IsNumElseToZero(ZYYWLR[num].ToString());
                    cw.YYLR     = PublicTool.IsNumElseToZero(YYLR[num].ToString());
                    cw.TZSY     = PublicTool.IsNumElseToZero(TZSY[num].ToString());
                    cw.YYEYSZJE = PublicTool.IsNumElseToZero(YYEYSZJE[num].ToString());
                    cw.LRZE     = PublicTool.IsNumElseToZero(LRZE[num].ToString());

                    cw.JLR          = PublicTool.IsNumElseToZero(JLR[num].ToString());
                    cw.JLROUT       = PublicTool.IsNumElseToZero(JLROUT[num].ToString());
                    cw.JYHDCSDXJLJE = PublicTool.IsNumElseToZero(JYHDCSDXJLJE[num].ToString());
                    cw.XJJXJDJWJCJE = PublicTool.IsNumElseToZero(XJJXJDJWJCJE[num].ToString());
                    cw.ZZC          = PublicTool.IsNumElseToZero(ZZC[num].ToString());

                    cw.LDZC         = PublicTool.IsNumElseToZero(LDZC[num].ToString());
                    cw.ZFZ          = PublicTool.IsNumElseToZero(ZFZ[num].ToString());
                    cw.LDFZ         = PublicTool.IsNumElseToZero(LDFZ[num].ToString());
                    cw.GDQYBHSSGDQY = PublicTool.IsNumElseToZero(GDQYBHSSGDQY[num].ToString());
                    cw.JZCSYLJQ     = decimal.Parse(PublicTool.IsNumElseToZero(JZCSYLJQ[num].ToString()));

                    if (_StockCWInfo.Add(cw) == 0)
                    {
                        continue;
                    }
                }
            }
        }
 public async Task <string> Get2(int id)
 {
     return(await HttpHelper.GetOnStringAsync("http://www.baidu.com"));
 }
Exemple #33
0
        public void Test()
        {
            //未能创建 SSL/TLS 安全通道解决办法:
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | (SecurityProtocolType)0x300 | (SecurityProtocolType)0xC00;
            // SecurityProtocolType.Ssl3 | 不支持请求的安全协议。
            //
            Console.WriteLine("HttpHelperUnitTest(Http请求帮助类单元测试)");
            Console.WriteLine();
            string html    = string.Empty;
            int    timeOut = 20;
            string body    = "Name=Lilei";
            //请求头/内容类型
            string contentType = "application/x-www-form-urlencoded";
            //发起POST请求
            string url  = "https://fanyi.baidu.com/langdetect";
            string gurl = "https://www.baidu.com/";
            Dictionary <string, string> header = new Dictionary <string, string>();

            //请求头
            header.Add("method", "get");
            header.Add("path", "/langdetect");
            header.Add("scheme", "https");
            header.Add("accept-language", "zh-cn,zh;q=0.9");


            #region  步
            #region GET
            //html = HttpHelper.HttpGet(gurl);
            //Console.WriteLine("HttpGet:{0}", html);
            //html = HttpHelper.HttpGet(gurl, header);
            //Console.WriteLine("HttpGet(自定义请求头):{0}", html);
            //html = HttpHelper.HttpGet(gurl, header, 20);
            //Console.WriteLine("HttpGet(自定义请求头和请求超时时间,单位秒s):{0}", html);
            #endregion
            #region POST
            //html = HttpHelper.HttpPost(url, body);
            //Console.WriteLine("HttpPost:{0}", html);
            html = HttpHelper.HttpPost(url, body, null, header);
            Console.WriteLine("HttpPost(自定义请求头和请求体):{0}", html);
            //html = HttpHelper.HttpPost(url,  body,  contentType, header, timeOut);
            //Console.WriteLine("HttpPost(自定义请求头和请求体、超时时间):{0}", html);
            #endregion
            #endregion


            #region 异步操作
            #region GET
            //Task<string> htmlAnysc = HttpHelper.HttpGetAsync(gurl);
            //Console.WriteLine("HttpGetAsync:{0}", htmlAnysc);
            //htmlAnysc = HttpHelper.HttpGetAsync(gurl, header);
            //Console.WriteLine("HttpGetAsync(自定义请求头):{0}", htmlAnysc);
            //htmlAnysc =HttpHelper.HttpGetAsync(gurl, header,timeOut);
            //Console.WriteLine("HttpGetAsync(自定义请求头和超时时间):{0}", htmlAnysc);
            #endregion
            #region POST
            //string AnsyBody = string.Empty;
            //Task<string> PostAnysc = HttpHelper.HttpPostAsync(url, AnsyBody);
            //Console.WriteLine("HttpGetAsync:{0}", PostAnysc);
            //PostAnysc = HttpHelper.HttpPostAsync(url, AnsyBody, contentType);
            //Console.WriteLine("HttpGetAsync(自定义请求体和请求类型):{0}", PostAnysc);
            //PostAnysc = HttpHelper.HttpPostAsync(url, AnsyBody, contentType, header);
            //Console.WriteLine("HttpGetAsync(自定义请求体、请求类型和请求头):{0}", PostAnysc);
            //PostAnysc = HttpHelper.HttpPostAsync(url, AnsyBody,  contentType, header, timeOut);
            //Console.WriteLine("HttpGetAsync(自定义请求体、请求头、请求类型和超时时间):{0}", PostAnysc);

            #endregion
            #endregion
        }
        private static async Task SendLoliconHPhicture(long senderId, long?senderGroup, string strHttpRequestUrl, string sizeUrlName, Action <GreenOnionsMessages> SendMessage)
        {
            string resultValue  = string.Empty;
            string errorMessage = string.Empty;

            try
            {
                resultValue = await HttpHelper.GetHttpResponseStringAsync(strHttpRequestUrl);
            }
            catch (Exception ex)
            {
                errorMessage = BotInfo.HPictureErrorReply + ex.Message;
            }
            if (!string.IsNullOrEmpty(errorMessage))
            {
                SendMessage(errorMessage);
            }

            JObject jo  = (JObject)JsonConvert.DeserializeObject(resultValue);
            JToken  jt  = jo["data"];
            string  err = jo["error"].ToString();

            if (!string.IsNullOrWhiteSpace(err))//Api错误
            {
                SendMessage(BotInfo.HPictureErrorReply + err);
            }

            if (jt.Count() == 0)                            //没找到对应词条的色图;
            {
                SendMessage(BotInfo.HPictureNoResultReply); //没有结果
            }

            IEnumerable <LoliconHPictureItem> enumImg = jt.Select(i => new LoliconHPictureItem(
                                                                      i["p"].ToString(),
                                                                      i["pid"].ToString(),
                                                                      i["urls"][sizeUrlName].ToString(),
                                                                      i["title"].ToString(),
                                                                      i["author"].ToString(),
                                                                      string.Join(",", (i["tags"] as JArray)),
                                                                      @$ "https://www.pixiv.net/artworks/{i[" pid "]}(p{i[" p "]})")
                                                                  );

            if (enumImg == null)
            {
                LogHelper.WriteErrorLog("Lolicon响应解析失败");
                SendMessage(BotInfo.HPictureErrorReply);  //发生错误
            }

            List <GreenOnionsMessages> outMessages = null;

            if (BotInfo.HPictureSendByForward)
            {
                outMessages = new List <GreenOnionsMessages>();
            }

            RecordLimit(senderId, senderGroup, LimitType.Frequency);
            foreach (LoliconHPictureItem imgItem in enumImg)
            {
                GreenOnionsMessages outMessage = new GreenOnionsMessages();
                if (BotInfo.HPictureSendUrl)
                {
                    string addresses;
                    if (BotInfo.HPictureSendTags)
                    {
                        addresses = $@"https://www.pixiv.net/artworks/{imgItem.ID} (p{imgItem.P})\r\n标题:{imgItem.Title}\r\n作者:{imgItem.Author}\r\n标签:{imgItem.Tags}";
                    }
                    else
                    {
                        addresses = $@"https://www.pixiv.net/artworks/{imgItem.ID} (p{imgItem.P})";
                    }
                    outMessage.Add(addresses);
                }

                GreenOnionsImageMessage imgMsg = CreateOnceLoliconHPicture(imgItem);

                #region  -- 撤回时间 --
                if (senderGroup == null)
                {
                    outMessage.RevokeTime = BotInfo.HPicturePMRevoke;  //私聊撤回
                }
                else
                {
                    if (BotInfo.HPictureWhiteGroup.Contains(senderGroup.Value))  //白名单群撤回
                    {
                        outMessage.RevokeTime = BotInfo.HPictureWhiteRevoke;
                    }
                    else
                    {
                        outMessage.RevokeTime = BotInfo.HPictureRevoke;  //普通群撤回
                    }
                }
                #endregion  -- 撤回时间 --

                outMessage.Add(imgMsg);
                if (BotInfo.HPictureSendByForward)
                {
                    outMessages.Add(outMessage);
                }
                else
                {
                    SendMessage(outMessage);
                }
                RecordLimit(senderId, senderGroup, LimitType.Count);
            }

            if (BotInfo.HPictureSendByForward && outMessages.Count > 0)
            {
                GreenOnionsForwardMessage[] forwardMessages = outMessages.Select(msg => new GreenOnionsForwardMessage(BotInfo.QQId, BotInfo.BotName, msg)).ToArray();
                SendMessage(forwardMessages);  //合并转发
            }
        }
Exemple #35
0
        public void DataAccess()
        {
            List <StockInfo> stocklist = _oStockInfo.GetStockCodeList("");

            foreach (StockInfo s in stocklist)
            {
                HttpHelper http = new HttpHelper();
                HttpItem   item = new HttpItem();
                item.URL              = " http://quotes.money.163.com/service/zcfzb_" + s.stockcode + ".html";
                item.Encoding         = Encoding.UTF8;
                item.Method           = "GET";
                item.Timeout          = 100000;
                item.ReadWriteTimeout = 30000;//写入Post数据超时时间,可选项默认为30000

                HttpResult result = http.GetHtml(item);

                string Result = result.Html.Replace("\r\n\t", "").Replace(" ", "");
                //string[] arrTemp = result.Html.Split('\r\n');
                string[] strlist = Result.Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                if (strlist.Length == 72 || strlist.Length == 1)
                {
                    continue;
                }
                string[] ReportDate   = strlist[0].Substring(0, strlist[0].Length - 1).Split(',');
                string[] HBZJ         = strlist[1].Substring(0, strlist[1].Length - 1).Split(',');
                string[] JSBFJ        = strlist[2].Substring(0, strlist[2].Length - 1).Split(',');
                string[] CCZJ         = strlist[3].Substring(0, strlist[3].Length - 1).Split(',');
                string[] JYXJRZC      = strlist[4].Substring(0, strlist[4].Length - 1).Split(',');
                string[] YSJRZC       = strlist[5].Substring(0, strlist[5].Length - 1).Split(',');
                string[] YSPJ         = strlist[6].Substring(0, strlist[6].Length - 1).Split(',');
                string[] YSZK         = strlist[7].Substring(0, strlist[7].Length - 1).Split(',');
                string[] YFKX         = strlist[8].Substring(0, strlist[8].Length - 1).Split(',');
                string[] YSBF         = strlist[9].Substring(0, strlist[9].Length - 1).Split(',');
                string[] YSFBZK       = strlist[10].Substring(0, strlist[10].Length - 1).Split(',');
                string[] YSFBHTZBJ    = strlist[11].Substring(0, strlist[11].Length - 1).Split(',');
                string[] YSLX         = strlist[12].Substring(0, strlist[12].Length - 1).Split(',');
                string[] YSGL         = strlist[13].Substring(0, strlist[13].Length - 1).Split(',');
                string[] QTYSK        = strlist[14].Substring(0, strlist[14].Length - 1).Split(',');
                string[] YSCKTS       = strlist[15].Substring(0, strlist[15].Length - 1).Split(',');
                string[] YSBTK        = strlist[16].Substring(0, strlist[16].Length - 1).Split(',');
                string[] YSBZJ        = strlist[17].Substring(0, strlist[17].Length - 1).Split(',');
                string[] NBYSK        = strlist[18].Substring(0, strlist[18].Length - 1).Split(',');
                string[] MRFSJRZC     = strlist[19].Substring(0, strlist[19].Length - 1).Split(',');
                string[] CH           = strlist[20].Substring(0, strlist[20].Length - 1).Split(',');
                string[] DTFY         = strlist[21].Substring(0, strlist[21].Length - 1).Split(',');
                string[] DCLLDZCSS    = strlist[22].Substring(0, strlist[22].Length - 1).Split(',');
                string[] YNNDQDFLDZC  = strlist[23].Substring(0, strlist[23].Length - 1).Split(',');
                string[] QTLDZC       = strlist[24].Substring(0, strlist[24].Length - 1).Split(',');
                string[] LDZCHJ       = strlist[25].Substring(0, strlist[25].Length - 1).Split(',');
                string[] FCDKJDK      = strlist[26].Substring(0, strlist[26].Length - 1).Split(',');
                string[] KGCSJRZC     = strlist[27].Substring(0, strlist[27].Length - 1).Split(',');
                string[] CYZDQTZ      = strlist[28].Substring(0, strlist[28].Length - 1).Split(',');
                string[] CQYSK        = strlist[29].Substring(0, strlist[29].Length - 1).Split(',');
                string[] CQGQTZ       = strlist[30].Substring(0, strlist[30].Length - 1).Split(',');
                string[] QTCQTZ       = strlist[31].Substring(0, strlist[31].Length - 1).Split(',');
                string[] TZXFDC       = strlist[32].Substring(0, strlist[32].Length - 1).Split(',');
                string[] GDZCYZ       = strlist[33].Substring(0, strlist[33].Length - 1).Split(',');
                string[] LJZJ         = strlist[34].Substring(0, strlist[34].Length - 1).Split(',');
                string[] GDZCJZ       = strlist[35].Substring(0, strlist[35].Length - 1).Split(',');
                string[] GDZCJZZB     = strlist[36].Substring(0, strlist[36].Length - 1).Split(',');
                string[] GDZC         = strlist[37].Substring(0, strlist[37].Length - 1).Split(',');
                string[] ZJGC         = strlist[38].Substring(0, strlist[38].Length - 1).Split(',');
                string[] GCWZ         = strlist[39].Substring(0, strlist[39].Length - 1).Split(',');
                string[] GDZCQL       = strlist[40].Substring(0, strlist[40].Length - 1).Split(',');
                string[] SCXSWZC      = strlist[41].Substring(0, strlist[41].Length - 1).Split(',');
                string[] GYXSWZC      = strlist[42].Substring(0, strlist[42].Length - 1).Split(',');
                string[] QYZC         = strlist[43].Substring(0, strlist[43].Length - 1).Split(',');
                string[] WXZC         = strlist[44].Substring(0, strlist[44].Length - 1).Split(',');
                string[] KFZC         = strlist[45].Substring(0, strlist[45].Length - 1).Split(',');
                string[] SY           = strlist[46].Substring(0, strlist[46].Length - 1).Split(',');
                string[] CQDTFY       = strlist[47].Substring(0, strlist[47].Length - 1).Split(',');
                string[] GQFZLTQ      = strlist[48].Substring(0, strlist[48].Length - 1).Split(',');
                string[] DYSDSZC      = strlist[49].Substring(0, strlist[49].Length - 1).Split(',');
                string[] QTFLDZC      = strlist[50].Substring(0, strlist[50].Length - 1).Split(',');
                string[] FLDZCHJ      = strlist[51].Substring(0, strlist[51].Length - 1).Split(',');
                string[] ZCZJ         = strlist[52].Substring(0, strlist[52].Length - 1).Split(',');
                string[] DQJK         = strlist[53].Substring(0, strlist[53].Length - 1).Split(',');
                string[] XZYYHJK      = strlist[54].Substring(0, strlist[54].Length - 1).Split(',');
                string[] XSCKJTYCF    = strlist[55].Substring(0, strlist[55].Length - 1).Split(',');
                string[] CRZJ         = strlist[56].Substring(0, strlist[56].Length - 1).Split(',');
                string[] JYXJRFZ      = strlist[57].Substring(0, strlist[57].Length - 1).Split(',');
                string[] YSJRFZ       = strlist[58].Substring(0, strlist[58].Length - 1).Split(',');
                string[] YFPJ         = strlist[59].Substring(0, strlist[59].Length - 1).Split(',');
                string[] YFZK         = strlist[60].Substring(0, strlist[60].Length - 1).Split(',');
                string[] YuSZK        = strlist[61].Substring(0, strlist[61].Length - 1).Split(',');
                string[] MCHGJRZCK    = strlist[62].Substring(0, strlist[62].Length - 1).Split(',');
                string[] YFSXFJYJ     = strlist[63].Substring(0, strlist[63].Length - 1).Split(',');
                string[] YFZGXC       = strlist[64].Substring(0, strlist[64].Length - 1).Split(',');
                string[] YJSF         = strlist[65].Substring(0, strlist[65].Length - 1).Split(',');
                string[] YFLX         = strlist[66].Substring(0, strlist[66].Length - 1).Split(',');
                string[] YFGL         = strlist[67].Substring(0, strlist[67].Length - 1).Split(',');
                string[] QTYJK        = strlist[68].Substring(0, strlist[68].Length - 1).Split(',');
                string[] YFBZJ        = strlist[69].Substring(0, strlist[69].Length - 1).Split(',');
                string[] NBYFK        = strlist[70].Substring(0, strlist[70].Length - 1).Split(',');
                string[] QTYFK        = strlist[71].Substring(0, strlist[71].Length - 1).Split(',');
                string[] YTFY         = strlist[72].Substring(0, strlist[72].Length - 1).Split(',');
                string[] YJLDFZ       = strlist[73].Substring(0, strlist[73].Length - 1).Split(',');
                string[] YFFBZK       = strlist[74].Substring(0, strlist[74].Length - 1).Split(',');
                string[] BXHTZBJ      = strlist[75].Substring(0, strlist[75].Length - 1).Split(',');
                string[] DLMMZQK      = strlist[76].Substring(0, strlist[76].Length - 1).Split(',');
                string[] DLCXZQK      = strlist[77].Substring(0, strlist[77].Length - 1).Split(',');
                string[] GJPZJS       = strlist[78].Substring(0, strlist[78].Length - 1).Split(',');
                string[] GNPZJS       = strlist[79].Substring(0, strlist[79].Length - 1).Split(',');
                string[] DYSY         = strlist[80].Substring(0, strlist[80].Length - 1).Split(',');
                string[] YFDQZQ       = strlist[81].Substring(0, strlist[81].Length - 1).Split(',');
                string[] YNDDQDFLDFZ  = strlist[82].Substring(0, strlist[82].Length - 1).Split(',');
                string[] QTLDFZ       = strlist[83].Substring(0, strlist[83].Length - 1).Split(',');
                string[] LDFZHJ       = strlist[84].Substring(0, strlist[84].Length - 1).Split(',');
                string[] CQJQ         = strlist[85].Substring(0, strlist[85].Length - 1).Split(',');
                string[] YFZQ         = strlist[86].Substring(0, strlist[86].Length - 1).Split(',');
                string[] CQYFZQ       = strlist[87].Substring(0, strlist[87].Length - 1).Split(',');
                string[] ZXYFK        = strlist[88].Substring(0, strlist[88].Length - 1).Split(',');
                string[] YJFLDFZ      = strlist[89].Substring(0, strlist[89].Length - 1).Split(',');
                string[] CQDYSY       = strlist[90].Substring(0, strlist[90].Length - 1).Split(',');
                string[] DYSDSFZ      = strlist[91].Substring(0, strlist[91].Length - 1).Split(',');
                string[] QTFLDFZ      = strlist[92].Substring(0, strlist[92].Length - 1).Split(',');
                string[] FLDFZHJ      = strlist[93].Substring(0, strlist[93].Length - 1).Split(',');
                string[] FZHJ         = strlist[94].Substring(0, strlist[94].Length - 1).Split(',');
                string[] SSZB         = strlist[95].Substring(0, strlist[95].Length - 1).Split(',');
                string[] ZBGJ         = strlist[96].Substring(0, strlist[96].Length - 1).Split(',');
                string[] JKCG         = strlist[97].Substring(0, strlist[97].Length - 1).Split(',');
                string[] ZXCB         = strlist[98].Substring(0, strlist[98].Length - 1).Split(',');
                string[] YYGJ         = strlist[99].Substring(0, strlist[99].Length - 1).Split(',');
                string[] YBFXZB       = strlist[100].Substring(0, strlist[100].Length - 1).Split(',');
                string[] WQDDTZSS     = strlist[101].Substring(0, strlist[101].Length - 1).Split(',');
                string[] WFPLR        = strlist[102].Substring(0, strlist[102].Length - 1).Split(',');
                string[] NFPXJGL      = strlist[103].Substring(0, strlist[103].Length - 1).Split(',');
                string[] WBBBZSCE     = strlist[104].Substring(0, strlist[104].Length - 1).Split(',');
                string[] GSYMGSGDQYHJ = strlist[105].Substring(0, strlist[105].Length - 1).Split(',');
                string[] SSGDQY       = strlist[106].Substring(0, strlist[106].Length - 1).Split(',');
                string[] SYZQY        = strlist[107].Substring(0, strlist[107].Length - 1).Split(',');
                string   strlist109   = strlist[108].Replace("\t", "");
                string[] FZHSYZQY     = strlist109.Substring(0, strlist109.Length - 1).Split(',');


                for (int num = 1; num < ReportDate.Length; num++)
                {
                    int IsHave = _StockZCFZInfo.GetRecordCount("Symbol='" + s.stockcode + "' AND ReportDate=CONVERT(datetime,'" + ReportDate[num].ToString() + "',102)");
                    if (IsHave != 0)
                    {
                        continue;
                    }
                    StockZCFZInfo model = new StockZCFZInfo();
                    model.Code         = s.stockcode;
                    model.ReportDate   = Convert.ToDateTime(ReportDate[num].ToString());
                    model.HBZJ         = PublicTool.IsNumElseToZero(HBZJ[num].ToString());
                    model.JSBFJ        = PublicTool.IsNumElseToZero(JSBFJ[num].ToString());
                    model.CCZJ         = PublicTool.IsNumElseToZero(CCZJ[num].ToString());
                    model.JYXJRZC      = PublicTool.IsNumElseToZero(JYXJRZC[num].ToString());
                    model.YSJRZC       = PublicTool.IsNumElseToZero(YSJRZC[num].ToString());
                    model.YSPJ         = PublicTool.IsNumElseToZero(YSPJ[num].ToString());
                    model.YSZK         = PublicTool.IsNumElseToZero(YSZK[num].ToString());
                    model.YFKX         = PublicTool.IsNumElseToZero(YFKX[num].ToString());
                    model.YSBF         = PublicTool.IsNumElseToZero(YSBF[num].ToString());
                    model.YSFBZK       = PublicTool.IsNumElseToZero(YSFBZK[num].ToString());
                    model.YSFBHTZBJ    = PublicTool.IsNumElseToZero(YSFBHTZBJ[num].ToString());
                    model.YSLX         = PublicTool.IsNumElseToZero(YSLX[num].ToString());
                    model.YSGL         = PublicTool.IsNumElseToZero(YSGL[num].ToString());
                    model.QTYSK        = PublicTool.IsNumElseToZero(QTYSK[num].ToString());
                    model.YSCKTS       = PublicTool.IsNumElseToZero(YSCKTS[num].ToString());
                    model.YSBTK        = PublicTool.IsNumElseToZero(YSBTK[num].ToString());
                    model.YSBZJ        = PublicTool.IsNumElseToZero(YSBZJ[num].ToString());
                    model.NBYSK        = PublicTool.IsNumElseToZero(NBYSK[num].ToString());
                    model.MRFSJRZC     = PublicTool.IsNumElseToZero(MRFSJRZC[num].ToString());
                    model.CH           = PublicTool.IsNumElseToZero(CH[num].ToString());
                    model.DTFY         = PublicTool.IsNumElseToZero(DTFY[num].ToString());
                    model.DCLLDZCSS    = PublicTool.IsNumElseToZero(DCLLDZCSS[num].ToString());
                    model.YNNDQDFLDZC  = PublicTool.IsNumElseToZero(YNNDQDFLDZC[num].ToString());
                    model.QTLDZC       = PublicTool.IsNumElseToZero(QTLDZC[num].ToString());
                    model.LDZCHJ       = PublicTool.IsNumElseToZero(LDZCHJ[num].ToString());
                    model.FCDKJDK      = PublicTool.IsNumElseToZero(FCDKJDK[num].ToString());
                    model.KGCSJRZC     = PublicTool.IsNumElseToZero(KGCSJRZC[num].ToString());
                    model.CYZDQTZ      = PublicTool.IsNumElseToZero(CYZDQTZ[num].ToString());
                    model.CQYSK        = PublicTool.IsNumElseToZero(CQYSK[num].ToString());
                    model.CQGQTZ       = PublicTool.IsNumElseToZero(CQGQTZ[num].ToString());
                    model.QTCQTZ       = PublicTool.IsNumElseToZero(QTCQTZ[num].ToString());
                    model.TZXFDC       = PublicTool.IsNumElseToZero(TZXFDC[num].ToString());
                    model.GDZCYZ       = PublicTool.IsNumElseToZero(GDZCYZ[num].ToString());
                    model.LJZJ         = PublicTool.IsNumElseToZero(LJZJ[num].ToString());
                    model.GDZCJZ       = PublicTool.IsNumElseToZero(GDZCJZ[num].ToString());
                    model.GDZCJZZB     = PublicTool.IsNumElseToZero(GDZCJZZB[num].ToString());
                    model.GDZC         = PublicTool.IsNumElseToZero(GDZC[num].ToString());
                    model.ZJGC         = PublicTool.IsNumElseToZero(ZJGC[num].ToString());
                    model.GCWZ         = PublicTool.IsNumElseToZero(GCWZ[num].ToString());
                    model.GDZCQL       = PublicTool.IsNumElseToZero(GDZCQL[num].ToString());
                    model.SCXSWZC      = PublicTool.IsNumElseToZero(SCXSWZC[num].ToString());
                    model.GYXSWZC      = PublicTool.IsNumElseToZero(GYXSWZC[num].ToString());
                    model.QYZC         = PublicTool.IsNumElseToZero(QYZC[num].ToString());
                    model.WXZC         = PublicTool.IsNumElseToZero(WXZC[num].ToString());
                    model.KFZC         = PublicTool.IsNumElseToZero(KFZC[num].ToString());
                    model.SY           = PublicTool.IsNumElseToZero(SY[num].ToString());
                    model.CQDTFY       = PublicTool.IsNumElseToZero(CQDTFY[num].ToString());
                    model.GQFZLTQ      = PublicTool.IsNumElseToZero(GQFZLTQ[num].ToString());
                    model.DYSDSZC      = PublicTool.IsNumElseToZero(DYSDSZC[num].ToString());
                    model.QTFLDZC      = PublicTool.IsNumElseToZero(QTFLDZC[num].ToString());
                    model.FLDZCHJ      = PublicTool.IsNumElseToZero(FLDZCHJ[num].ToString());
                    model.ZCZJ         = PublicTool.IsNumElseToZero(ZCZJ[num].ToString());
                    model.DQJK         = PublicTool.IsNumElseToZero(DQJK[num].ToString());
                    model.XZYYHJK      = PublicTool.IsNumElseToZero(XZYYHJK[num].ToString());
                    model.XSCKJTYCF    = PublicTool.IsNumElseToZero(XSCKJTYCF[num].ToString());
                    model.CRZJ         = PublicTool.IsNumElseToZero(CRZJ[num].ToString());
                    model.JYXJRFZ      = PublicTool.IsNumElseToZero(JYXJRFZ[num].ToString());
                    model.YSJRFZ       = PublicTool.IsNumElseToZero(YSJRFZ[num].ToString());
                    model.YFPJ         = PublicTool.IsNumElseToZero(YFPJ[num].ToString());
                    model.YFZK         = PublicTool.IsNumElseToZero(YFZK[num].ToString());
                    model.YuSZK        = PublicTool.IsNumElseToZero(YuSZK[num].ToString());
                    model.MCHGJRZCK    = PublicTool.IsNumElseToZero(MCHGJRZCK[num].ToString());
                    model.YFSXFJYJ     = PublicTool.IsNumElseToZero(YFSXFJYJ[num].ToString());
                    model.YFZGXC       = PublicTool.IsNumElseToZero(YFZGXC[num].ToString());
                    model.YJSF         = PublicTool.IsNumElseToZero(YJSF[num].ToString());
                    model.YFLX         = PublicTool.IsNumElseToZero(YFLX[num].ToString());
                    model.YFGL         = PublicTool.IsNumElseToZero(YFGL[num].ToString());
                    model.QTYJK        = PublicTool.IsNumElseToZero(QTYJK[num].ToString());
                    model.YFBZJ        = PublicTool.IsNumElseToZero(YFBZJ[num].ToString());
                    model.NBYFK        = PublicTool.IsNumElseToZero(NBYFK[num].ToString());
                    model.QTYFK        = PublicTool.IsNumElseToZero(QTYFK[num].ToString());
                    model.YTFY         = PublicTool.IsNumElseToZero(YTFY[num].ToString());
                    model.YJLDFZ       = PublicTool.IsNumElseToZero(YJLDFZ[num].ToString());
                    model.YFFBZK       = PublicTool.IsNumElseToZero(YFFBZK[num].ToString());
                    model.BXHTZBJ      = PublicTool.IsNumElseToZero(BXHTZBJ[num].ToString());
                    model.DLMMZQK      = PublicTool.IsNumElseToZero(DLMMZQK[num].ToString());
                    model.DLCXZQK      = PublicTool.IsNumElseToZero(DLCXZQK[num].ToString());
                    model.GJPZJS       = PublicTool.IsNumElseToZero(GJPZJS[num].ToString());
                    model.GNPZJS       = PublicTool.IsNumElseToZero(GNPZJS[num].ToString());
                    model.DYSY         = PublicTool.IsNumElseToZero(DYSY[num].ToString());
                    model.YFDQZQ       = PublicTool.IsNumElseToZero(YFDQZQ[num].ToString());
                    model.YNDDQDFLDFZ  = PublicTool.IsNumElseToZero(YNDDQDFLDFZ[num].ToString());
                    model.QTLDFZ       = PublicTool.IsNumElseToZero(QTLDFZ[num].ToString());
                    model.LDFZHJ       = PublicTool.IsNumElseToZero(LDFZHJ[num].ToString());
                    model.CQJQ         = PublicTool.IsNumElseToZero(CQJQ[num].ToString());
                    model.YFZQ         = PublicTool.IsNumElseToZero(YFZQ[num].ToString());
                    model.CQYFZQ       = PublicTool.IsNumElseToZero(CQYFZQ[num].ToString());
                    model.ZXYFK        = PublicTool.IsNumElseToZero(ZXYFK[num].ToString());
                    model.YJFLDFZ      = PublicTool.IsNumElseToZero(YJFLDFZ[num].ToString());
                    model.CQDYSY       = PublicTool.IsNumElseToZero(CQDYSY[num].ToString());
                    model.DYSDSFZ      = PublicTool.IsNumElseToZero(DYSDSFZ[num].ToString());
                    model.QTFLDFZ      = PublicTool.IsNumElseToZero(QTFLDFZ[num].ToString());
                    model.FLDFZHJ      = PublicTool.IsNumElseToZero(FLDFZHJ[num].ToString());
                    model.FZHJ         = PublicTool.IsNumElseToZero(FZHJ[num].ToString());
                    model.SSZB         = PublicTool.IsNumElseToZero(SSZB[num].ToString());
                    model.ZBGJ         = PublicTool.IsNumElseToZero(ZBGJ[num].ToString());
                    model.JKCG         = PublicTool.IsNumElseToZero(JKCG[num].ToString());
                    model.ZXCB         = PublicTool.IsNumElseToZero(ZXCB[num].ToString());
                    model.YYGJ         = PublicTool.IsNumElseToZero(YYGJ[num].ToString());
                    model.YBFXZB       = PublicTool.IsNumElseToZero(YBFXZB[num].ToString());
                    model.WQDDTZSS     = PublicTool.IsNumElseToZero(WQDDTZSS[num].ToString());
                    model.WFPLR        = PublicTool.IsNumElseToZero(WFPLR[num].ToString());
                    model.NFPXJGL      = PublicTool.IsNumElseToZero(NFPXJGL[num].ToString());
                    model.WBBBZSCE     = PublicTool.IsNumElseToZero(WBBBZSCE[num].ToString());
                    model.GSYMGSGDQYHJ = PublicTool.IsNumElseToZero(GSYMGSGDQYHJ[num].ToString());
                    model.SSGDQY       = PublicTool.IsNumElseToZero(SSGDQY[num].ToString());
                    model.SYZQY        = PublicTool.IsNumElseToZero(SYZQY[num].ToString());
                    model.FZHSYZQY     = PublicTool.IsNumElseToZero(FZHSYZQY[num].ToString());

                    if (_StockZCFZInfo.Add(model) == 0)
                    {
                        continue;
                    }
                }
            }
        }
Exemple #36
0
 public HomeController(HttpHelper helper)
 {
     _helper = helper;
 }
Exemple #37
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="HttpHelper">reference to HttpHelper class for interaction with HTTP</param>
 /// <param name="defaultPath">path to site, EX. http://demo.com/wp-json/ </param>
 public Media(ref HttpHelper HttpHelper, string defaultPath)
 {
     _httpHelper  = HttpHelper;
     _defaultPath = defaultPath;
 }
Exemple #38
0
        public static async Task <Player> GetPlayer(AuthenticationToken token)
        {
            var httpResponse = await HttpHelper.Get("https://api.spotify.com/v1/me/player", token);

            return(JsonConvert.DeserializeObject <Player>(httpResponse));
        }
        public JsonResult Login(FormCollection from)
        {
            JsonResult result = null;

            try
            {
                string strAccount = from["account"].ToString();
                string strPwd     = from["pwd"].ToString();
                string code       = from["vcode"].ToString();
                string sCode      = Session["Vcode"] != null ? Session["Vcode"].ToString() : null;
                string Message    = string.Empty;
                int    status     = 0;
                if (sCode == null || string.Compare(sCode, code, true) != 0)
                {
                    if (sCode == null)
                    {
                        Message = "验证码已过期,请重新获取!";
                    }
                    else
                    {
                        //验证码错误
                        Message = "验证码输入错误";
                    }
                    status = -1;
                }
                else
                {
                    //换成WebAPI 调用登录 返回登录信息
                    UserLogin userLogin = new UserLogin();
                    userLogin.UserNameOrPhone = strAccount;
                    userLogin.UserPassword    = strPwd.GetMd5Code();
                    if (strAccount.ToUpper() == "ADMIN")
                    {
                        userLogin.UserType = 2;
                    }
                    else
                    {
                        userLogin.UserType = 3;
                    }
                    userLogin.UserIP = AppConfigHelper.IP;
                    BaseResultDto <SystemUsers> userDto = HttpHelper.CreatHelper().DoPostObject <BaseResultDto <SystemUsers> >(string.Format("{0}User/UserLogin", AppConfigHelper.WebApiUrl), userLogin);
                    //管理员
                    SystemUsers user = userDto.Tag as SystemUsers;
                    if (user != null)
                    {
                        //登录成功
                        //序列化用户信息
                        string UserData = JsonConvert.SerializeObject(user);
                        //保存序列化的用户信息票据
                        FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, user.UserName, DateTime.Now, DateTime.Now.AddDays(1), false, UserData);
                        //将票据加密并存到cookie
                        HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket));
                        //输出到浏览器
                        this.HttpContext.Response.Cookies.Add(cookie);
                        //FormsAuthentication.SetAuthCookie(user.UserName, false);
                        // bool IsAuthenticated = this.HttpContext.Request.IsAuthenticated;
                        status = 1;
                    }
                    else
                    {
                        Message = userDto.ErrorMsg;
                        if (Message.Contains("账号不存在"))
                        {
                            status = -3;
                        }
                        else
                        {
                            status = -2;
                        }
                    }
                }
                //返回数据
                result = Json(new { status = status, message = Message }, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                result = Json(new { status = 0, message = ex.Message }, JsonRequestBehavior.AllowGet);
            }
            return(result);
        }
Exemple #40
0
        public static async Task <CurrentlyPlaying> GetCurrentlyPlaying(AuthenticationToken token)
        {
            var httpResponse = await HttpHelper.Get("https://api.spotify.com/v1/me/player/currently-playing", token);

            return(JsonConvert.DeserializeObject <CurrentlyPlaying>(httpResponse));
        }
Exemple #41
0
        public static async Task <Playlist> GetUsersPlaylists(string userId, AuthenticationToken token)
        {
            var json = await HttpHelper.Get("https://api.spotify.com/v1/users/" + userId + "/playlists", token);

            return(JsonConvert.DeserializeObject <Playlist>(json));
        }
        /// <summary>
        /// 查询系统日志
        /// </summary>
        /// <param name="form"></param>
        /// <param name="page"></param>
        /// <param name="rows"></param>
        /// <returns></returns>
        public JsonResult SearchSystemLog(FormCollection form, int page = 1, int rows = 10)
        {
            JsonResult result = null;

            try
            {
                StringBuilder sbCon = new StringBuilder(" 1=1 ");
                if (form["userId"] != null && !string.IsNullOrEmpty(form["userId"]))
                {
                    string userId = form["userId"].ToString();
                    sbCon.AppendFormat(" and OperatorUserId ='{0}'", userId.Replace("'", ""));
                }
                if (form["userName"] != null && !string.IsNullOrEmpty(form["userName"]))
                {
                    string userName = form["userName"].ToString();
                    sbCon.AppendFormat(" and OperatorUserName like '%{0}%'", userName.Replace("'", ""));
                }
                if (form["operatorType"] != null &&
                    !string.IsNullOrEmpty(form["operatorType"]) &&
                    form["operatorType"].ToString().Trim() != "0"
                    )
                {
                    string operatorType = form["operatorType"].ToString();
                    sbCon.AppendFormat(" and OperatorType = '{0}'", operatorType.Replace("'", ""));
                }
                if (form["businessType"] != null && !string.IsNullOrEmpty(form["businessType"]))
                {
                    string businessType = form["businessType"].ToString();
                    sbCon.AppendFormat(" and BusinessType = '{0}'", businessType.Replace("'", ""));
                }
                if (form["ip"] != null && !string.IsNullOrEmpty(form["ip"]))
                {
                    string ip = form["ip"].ToString();
                    sbCon.AppendFormat(" and OperatorIP = '{0}'", ip.Replace("'", ""));
                }
                if (form["opCon"] != null && !string.IsNullOrEmpty(form["opCon"]))
                {
                    string opCon = form["opCon"].ToString();
                    sbCon.AppendFormat(" and OperatorContent like '%{0}%'", opCon.Replace("'", ""));
                }
                //表单的实体
                if (form["startDate"] != null && form["endDate"] != null)
                {
                    string startDate = DateTime.Parse(form["startDate"].ToString()).ToString("yyyy-MM-dd");
                    string endDate   = DateTime.Parse(form["endDate"].ToString()).ToString("yyyy-MM-dd");
                    sbCon.AppendFormat(" and OperatorTime between '{0} 00:00:00' and '{1} 23:59:59' ", startDate, endDate);
                }
                string OrderBy = string.Empty;
                //排序的东西
                if (form["sort"] != null && form["order"] != null)
                {
                    string sort  = form["sort"].ToString();
                    string order = form["order"].ToString();
                    if (!string.IsNullOrEmpty(sort))
                    {
                        OrderBy = sort + " " + order;
                    }
                }
                //分页
                RQPagerDto pager = new RQPagerDto();
                pager.PageSize  = rows;
                pager.PageIndex = page;
                pager.Where     = sbCon.ToString();
                pager.OrderBy   = OrderBy;
                ModelByCount <SystemLog> pagerData = HttpHelper.CreatHelper().DoPostObject <ModelByCount <SystemLog> >(string.Format("{0}SysSetting/GetLogList", this.WebApiUrl), pager);
                result = Json(new { total = pagerData.AllCount, rows = pagerData.ListAll }, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                result = Json(new { status = -1, message = ex.Message }, JsonRequestBehavior.AllowGet);
            }
            return(result);
        }
Exemple #43
0
        public void LoadedDramaItem()
        {
            string videoListUrl = CommonData.GetVideoListUrl + "&videoId=" + VideoId + "&pageCount=" + DramaPageCount;

            System.Diagnostics.Debug.WriteLine("获取剧集列表 url:" + videoListUrl);
            HttpHelper.httpGet(videoListUrl, (ar) =>
            {
                string result = HttpHelper.SyncResultTostring(ar);
                if (result != null)
                {
                    VideoInfoResult videosResult = null;
                    try
                    {
                        videosResult = JsonConvert.DeserializeObject <VideoInfoResult>(result);
                    }
                    catch (Exception ex)
                    {
                        System.Diagnostics.Debug.WriteLine("LoadChannelCompleted   json 解析错误" + ex.Message);
                    }

                    if (videosResult == null)
                    {
                        JsonError(result);
                    }
                    else if (videosResult.err_code == HttpHelper.rightCode)
                    {
                        if (CallbackManager.currentPage != null)
                        {
                            CallbackManager.currentPage.Dispatcher.BeginInvoke(() =>
                            {
                                if (DramaPageCount > 1)
                                {
                                    foreach (VideoInfo video in videosResult.data)
                                    {
                                        AllDramas.Add(video);
                                    }
                                    if (VideoStyleType == "1")
                                    {
                                        App.PlayerModel.MoreVideoVisibility = Visibility.Collapsed;
                                    }
                                    else if (VideoStyleType == "2")
                                    {
                                        if (AllDramas.Count == 30 * DramaPageCount)
                                        {
                                            App.PlayerModel.MoreVideoVisibility = Visibility.Visible;
                                        }
                                        else
                                        {
                                            App.PlayerModel.MoreVideoVisibility = Visibility.Collapsed;
                                        }
                                    }
                                    dramaPageCount++;
                                }
                                else
                                {
                                    AllDramas         = videosResult.data;
                                    PlayerInfo player = CallbackManager.currentPage as PlayerInfo;
                                    if (player != null)
                                    {
                                        player.LoadDramaSeletedItem(videoId);
                                    }
                                }
                            });
                        }
                    }
                }
                else
                {
                    if (CommonData.NetworkStatus != "None")
                    {
                        LoadedDramaItem();
                    }
                }
            });
        }
        public JsonResult GetPlatformAcountQuery()
        {
            JsonResult result = null;

            try
            {
                BaseResultDto <BaseResultDto <MoneyCarCar.Models.YeePay.Response.ACCOUNT_INFO.response> > resultDto = HttpHelper.CreatHelper().DoGetObject <BaseResultDto <BaseResultDto <MoneyCarCar.Models.YeePay.Response.ACCOUNT_INFO.response> > >(string.Format("{0}SysSetting/GetPlatformAcountQuery", this.WebApiUrl), this.WebApiTimeOut);
                BaseResultDto <MoneyCarCar.Models.YeePay.Response.ACCOUNT_INFO.response> resultModel = resultDto.Tag;
                MoneyCarCar.Models.YeePay.Response.ACCOUNT_INFO.response Res = resultModel.Tag;
                if (Res == null)
                {
                    resultDto.ErrorCode = -1;
                }
                result = Json(new { status = resultDto.ErrorCode, message = resultDto.ErrorMsg, data = Res }, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                result = Json(new { status = -1, message = ex.Message }, JsonRequestBehavior.AllowGet);
            }
            return(result);
        }
Exemple #45
0
        public override async Task <TaskRes> Execute(Account acc)
        {
            // Sets building task to be built
            //if (this.Task == null)
            ConfigNextExecute(acc);

            if (this.Task == null)
            {
                // There is no building task left. Remove the BotTask
                acc.Tasks.Remove(this);
                return(TaskRes.Executed);
            }

            // Check if the task is complete
            var(urlId, constructNew) = GetUrlForBuilding(acc, Vill, Task);
            if (urlId == null)
            {
                //no space for this building
                Vill.Build.Tasks.Remove(this.Task);
                this.Task = null;
                return(await Execute(acc));
            }

            // In which dorf is the building. So bot is less suspicious.
            if (!acc.Wb.CurrentUrl.Contains($"/dorf{((Task.BuildingId ?? default) < 19 ? 1 : 2)}.php"))
            {
                string navigateTo = $"{acc.AccInfo.ServerUrl}/";
                //Switch village!
                navigateTo += (Task.BuildingId ?? default) < 19 ?
                              "dorf1.php" :
                              "dorf2.php";

                // For localization purposes, bot sends raw http req to Travian servers.
                // We need localized building names, and JS hides the title of the
                //buildings on selenium browser.
                acc.Wb.Html = HttpHelper.SendGetReq(acc, navigateTo);
                await System.Threading.Tasks.Task.Delay(AccountHelper.Delay());

                if (navigateTo.EndsWith("dorf1.php"))
                {
                    TaskExecutor.UpdateDorf1Info(acc);
                }
                else
                {
                    TaskExecutor.UpdateDorf2Info(acc);  // dorf2 ok
                }
                Localizations.UpdateLocalization(acc);
            }

            // Check if there are already too many buildings currently constructed
            var maxBuild = 1;

            if (acc.AccInfo.PlusAccount)
            {
                maxBuild++;
            }
            if (acc.AccInfo.Tribe == TribeEnum.Romans)
            {
                maxBuild++;
            }
            if (Vill.Build.CurrentlyBuilding.Count >= maxBuild)
            {
                //Execute next upgrade task after currently building
                this.NextExecute = Vill.Build.CurrentlyBuilding.First().Duration.AddSeconds(3);
                TaskExecutor.ReorderTaskList(acc);
                return(TaskRes.Executed);
            }


            var url = $"{acc.AccInfo.ServerUrl}/build.php?id={urlId}";

            // Fast building for TTWars, only if we have enough resources
            //if (acc.AccInfo.ServerUrl.Contains("ttwars") && !url.Contains("category") && false) // disabling this
            //{
            //    var building = vill.Build.Buildings.FirstOrDefault(x => x.Id == this.task.BuildingId);
            //    var lvl = building.Level;
            //    if (building.UnderConstruction) lvl++;

            //    var storedRes = ResourcesHelper.ResourcesToArray(vill.Res.Stored.Resources);
            //    var neededRes = BuildingsCost.GetBuildingCost(this.task.Building, lvl + 1);
            //    if (ResourcesHelper.EnoughRes(storedRes, neededRes))
            //    {
            //        //url += "&fastUP=1";
            //        return TaskRes.Executed;
            //    }
            //}

            // Append correct tab
            if (!constructNew)
            {
                switch (this.Task.Building)
                {
                case BuildingEnum.RallyPoint:
                    url += "&tt=0";
                    break;

                case BuildingEnum.Marketplace:
                    url += "&t=0";
                    break;

                case BuildingEnum.Residence:
                case BuildingEnum.Palace:
                    url += "&s=0";
                    break;
                }
            }

            await acc.Wb.Navigate(url);

            var constructContract = acc.Wb.Html.GetElementbyId($"contract_building{(int)Task.Building}");
            var upgradeContract   = acc.Wb.Html.GetElementbyId("build");

            TaskRes response;

            this.NextExecute = null;

            if (constructContract != null)
            {
                if (!IsEnoughRes(acc, constructContract))
                {
                    return(TaskRes.Executed);
                }
                response = await Construct(acc, constructContract);
            }
            else if (upgradeContract != null)
            {
                if (!IsEnoughRes(acc, upgradeContract))
                {
                    return(TaskRes.Executed);
                }
                response = await Upgrade(acc, upgradeContract);
            }
            else
            {
                throw new Exception("No contract was found!");
            }

            if (this.NextExecute == null)
            {
                ConfigNextExecute(acc);
            }
            return(response);
        }
        public JsonResult SearchRequestRecord(FormCollection form, int page = 1, int rows = 10)
        {
            JsonResult result = null;

            try
            {
                StringBuilder sbCon = new StringBuilder(" 1=1 ");
                //请求流水号
                if (form["requestNo"] != null && !string.IsNullOrEmpty(form["requestNo"]))
                {
                    string requestNo = form["requestNo"].ToString();
                    sbCon.AppendFormat(" and Id like '%{0}%'", requestNo.Replace("'", ""));
                }
                //请求金额
                if (form["requestMoney"] != null && !string.IsNullOrEmpty(form["requestMoney"]))
                {
                    string requestMoney = form["requestMoney"].ToString();
                    sbCon.AppendFormat(" and RequestMoney ={0} ", requestMoney.Replace("'", ""));
                }
                //请求类型
                if (form["requestType"] != null && !string.IsNullOrEmpty(form["requestType"]) &&
                    form["requestType"].ToString() != "0"
                    )
                {
                    string requestType = form["requestType"].ToString();
                    sbCon.AppendFormat(" and RequestType ={0} ", requestType.Replace("'", ""));
                }
                //请求处理状态
                if (form["operStatus"] != null && !string.IsNullOrEmpty(form["operStatus"]) &&
                    form["operStatus"].ToString() != "0"
                    )
                {
                    string requestOperStatus = form["operStatus"].ToString();
                    sbCon.AppendFormat(" and RequestOperStatus ={0} ", requestOperStatus.Replace("'", ""));
                }

                //表单的实体
                if (form["startDate"] != null && form["endDate"] != null)
                {
                    string startDate = DateTime.Parse(form["startDate"].ToString()).ToString("yyyy-MM-dd");
                    string endDate   = DateTime.Parse(form["endDate"].ToString()).ToString("yyyy-MM-dd");
                    sbCon.AppendFormat(" and RequestDate between '{0} 00:00:00' and '{1} 23:59:59' ", startDate, endDate);
                }
                string OrderBy = string.Empty;
                //排序的东西
                if (form["sort"] != null && form["order"] != null)
                {
                    string sort  = form["sort"].ToString();
                    string order = form["order"].ToString();
                    if (!string.IsNullOrEmpty(sort))
                    {
                        OrderBy = sort + " " + order;
                    }
                }
                //分页
                RQPagerDto pager = new RQPagerDto();
                pager.PageSize  = rows;
                pager.PageIndex = page;
                pager.Where     = sbCon.ToString();
                pager.OrderBy   = OrderBy;
                ModelByCount <SystemRequestRecord> pagerData = HttpHelper.CreatHelper().DoPostObject <ModelByCount <SystemRequestRecord> >(string.Format("{0}SysSetting/GetRequestRecordList", this.WebApiUrl), pager);
                result = Json(new { total = pagerData.AllCount, rows = pagerData.ListAll }, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                result = Json(new { status = -1, message = ex.Message }, JsonRequestBehavior.AllowGet);
            }
            return(result);
        }
Exemple #47
0
        private static RespCode LinkServer(string _url, string _objModel, string _accessToken = null,
                                           string _Method = "Post", PostDataType pdType = PostDataType.Byte)
        {
            sw.Start();
            sw.Restart();

            Log4NetHelper.Debug(String.Format("HTTP 请求地址:{0}。", _url));

            Log4NetHelper.Debug(String.Format("HTTP 请求参数:{0}。", _objModel));

            //创建Httphelper对象
            HttpHelper http = new HttpHelper();

            WebHeaderCollection header = new WebHeaderCollection();

            if (!string.IsNullOrEmpty(_accessToken))
            {
                //header.Add("accessToken", _accessToken);
                _url = $"{_url}?token={_accessToken}";
            }

            if (_Method.Trim().ToLower() == "get" && !string.IsNullOrEmpty(_objModel))
            {
                _url = $"{_url}?{_objModel}";
            }


            //header.Add("User-Agent", $"yys-PlatformID.Windows-{MachineInfoHelper.LD?.currentVersion}");
            //创建Httphelper参数对象
            HttpItem item = new HttpItem()
            {
                URL              = _url,
                Method           = _Method,
                Timeout          = 1000 * 30,
                ReadWriteTimeout = 1000 * 30,
                //Header = header,
                UserAgent = $"yys-PlatformID.Windows-{MachineInfoHelper.LD?.currentVersion}",
                //Encoding = Encoding.Default,
                PostEncoding = Encoding.UTF8,
                //Header = wcHeader,
                ContentType  = "application/x-www-form-urlencoded;charset=utf-8", //"application/json",
                PostDataType = pdType,
                //PostdataByte = fileData,
                Postdata = _objModel, //"nowTick=" + DateTime.Now.Ticks.ToString("x"),
            };

            //请求的返回值对象
            HttpResult result = http.GetHtml(item);
            string     html   = result.Html;
            //string cookie = result.Cookie;

            var resp = JsonHelper.FromJson <RespCode>(html);

            Log4NetHelper.Debug(String.Format("HTTP 响应内容:{0}。", html));

            if (result.StatusCode != HttpStatusCode.OK)
            {
                Log4NetHelper.Error(String.Format("HTTP 请求参数:{0},响应内容 请求失败 ---> {1}。", _objModel, JsonHelper.ToJson(result)));

                if (resp == null)
                {
                    resp = new RespCode()
                    {
                        retCode = 40400,
                        retMsg  = "网络连接失败,请检查后重试!",
                        retData = "",
                        retHtml = JsonHelper.ToJson(result)
                    };
                }
                else
                {
                    resp.retCode = 40400;
                    resp.retMsg  = "网络连接失败,请检查后重试!";
                    resp.retHtml = JsonHelper.ToJson(result);
                }
            }

            sw.Stop();
            TimeSpan ts2 = sw.Elapsed;

            Log4NetHelper.Debug(String.Format("LinkServer 执行时间:{0}s。", ts2.TotalSeconds));
            sw.Reset();

            return(resp);
        }
Exemple #48
0
        /// <summary>
        /// 适配器构造函数
        /// </summary>
        public Startup()
        {
            DirectoryInfo di = new DirectoryInfo(HttpHelper.GetMapPath("/bin"));

            if (!di.Exists)
            {
                di = new DirectoryInfo(HttpHelper.GetMapPath("/"));
            }
            var files = di.GetFiles("*.dll", SearchOption.AllDirectories);

            if (files != null)
            {
                Assembly assembly = null;
                foreach (var f in files)
                {
                    try
                    {
                        assembly = AppDomain.CurrentDomain.Load(AssemblyName.GetAssemblyName(f.FullName));
                    }
                    catch (Exception e)
                    {
                        Debug.Write(e.Message);
                        continue;
                    }
                    Type[] assemblyTypes = null;
                    try
                    {
                        assemblyTypes = assembly.GetTypes();
                    }
                    catch { Console.WriteLine("GetTypes Error!"); }
                    if (assemblyTypes != null)
                    {
                        foreach (var type in assemblyTypes)
                        {
                            if (type.IsSubclassOf(typeof(BaseRoute)))
                            {
                                try
                                {
                                    BaseRoute ir = (BaseRoute)Activator.CreateInstance(type);
                                }
                                catch (Exception e)
                                {
                                    Debug.Write(e.ToString());
                                }
                            }
                            else if (typeof(IService).IsAssignableFrom(type))
                            {
                                var methods = type.GetMethods(BindingFlags.Public | BindingFlags.Instance);
                                foreach (var m in methods)
                                {
                                    ParameterInfo[] param;
                                    Type            paramtype;
                                    IEnumerable <RouteAttribute>   arrts1;
                                    IEnumerable <RewriteAttribute> arrts2;
                                    Func <IOwinContext, Task>      func;
                                    bool   isdone  = false;
                                    string headers = responseheaders;
                                    arrts1 = m.GetCustomAttributes <RouteAttribute>(false);//处理函数直接注册的路由
                                    param  = m.GetParameters();
                                    if (param.Length == 1)
                                    {
                                        foreach (var routeattr in arrts1)
                                        {
                                            if (routeattr.Verbs == null)
                                            {
                                                if (!_all_route.ContainsKey(routeattr.Path))
                                                {
                                                    if (routeattr.Headers != null)
                                                    {
                                                        headers = routeattr.Headers;
                                                    }
                                                    func = HttpHelper.GetOwinTask(type, param[0].ParameterType, m.ReturnType, m, routeattr.MaxLength, headers);
                                                    _all_route.Add(routeattr.Path, func);
                                                    isdone = true;
                                                }
                                                else
                                                {
                                                    Debug.Write(string.Format("Any路径重复注册. path:{0};param:{1};func:{2}", routeattr.Path, param[0].ParameterType.Name, m.Name));
                                                }
                                            }
                                            else if (routeattr.Verbs == "GET")
                                            {
                                                var get_route = _verb_route["GET"];
                                                if (!get_route.ContainsKey(routeattr.Path))
                                                {
                                                    if (routeattr.Headers != null)
                                                    {
                                                        headers = routeattr.Headers;
                                                    }
                                                    func = HttpHelper.GetOwinTask(type, param[0].ParameterType, m.ReturnType, m, routeattr.MaxLength, headers);
                                                    get_route.Add(routeattr.Path, func);
                                                }
                                                else
                                                {
                                                    Debug.Write(string.Format("Get路径重复注册. path:{0};param:{1};func:{2}", routeattr.Path, param[0].ParameterType.Name, m.Name));
                                                }
                                            }
                                            else if (routeattr.Verbs == "POST")
                                            {
                                                var post_route = _verb_route["POST"];
                                                if (!post_route.ContainsKey(routeattr.Path))
                                                {
                                                    if (routeattr.Headers != null)
                                                    {
                                                        headers = routeattr.Headers;
                                                    }
                                                    func = HttpHelper.GetOwinTask(type, param[0].ParameterType, m.ReturnType, m, routeattr.MaxLength, headers);
                                                    post_route.Add(routeattr.Path, func);
                                                }
                                                else
                                                {
                                                    Debug.Write(string.Format("Post路径重复注册. path:{0};param:{1};func:{2}", routeattr.Path, param[0].ParameterType.Name, m.Name));
                                                }
                                            }
                                        }
                                        if (!isdone)//处理参数类路由
                                        {
                                            switch (m.Name)
                                            {
                                            case "Any":
                                                paramtype = param[0].ParameterType;
                                                arrts1    = paramtype.GetCustomAttributes <RouteAttribute>(false);
                                                foreach (var routeattr in arrts1)
                                                {
                                                    if (!_all_route.ContainsKey(routeattr.Path))
                                                    {
                                                        if (routeattr.Headers != null)
                                                        {
                                                            headers = routeattr.Headers;
                                                        }
                                                        func = HttpHelper.GetOwinTask(type, paramtype, m.ReturnType, m, routeattr.MaxLength, headers);
                                                        _all_route.Add(routeattr.Path, func);
                                                    }
                                                    else
                                                    {
                                                        Debug.Write(string.Format("Any路径重复注册. path:{0};param:{1};func:{2}", routeattr.Path, paramtype.Name, m.Name));
                                                    }
                                                }
                                                break;

                                            case "Get":
                                                paramtype = param[0].ParameterType;
                                                arrts1    = paramtype.GetCustomAttributes <RouteAttribute>(false);
                                                foreach (var routeattr in arrts1)
                                                {
                                                    var get_route = _verb_route["GET"];
                                                    if (!get_route.ContainsKey(routeattr.Path))
                                                    {
                                                        if (routeattr.Headers != null)
                                                        {
                                                            headers = routeattr.Headers;
                                                        }
                                                        func = HttpHelper.GetOwinTask(type, paramtype, m.ReturnType, m, routeattr.MaxLength, headers);
                                                        get_route.Add(routeattr.Path, func);
                                                    }
                                                    else
                                                    {
                                                        Debug.Write(string.Format("Get路径重复注册. path:{0};param:{1};func:{2}", routeattr.Path, paramtype.Name, m.Name));
                                                    }
                                                }
                                                break;

                                            case "Post":
                                                paramtype = param[0].ParameterType;
                                                arrts1    = paramtype.GetCustomAttributes <RouteAttribute>(false);
                                                foreach (var routeattr in arrts1)
                                                {
                                                    var post_route = _verb_route["POST"];
                                                    if (!post_route.ContainsKey(routeattr.Path))
                                                    {
                                                        if (routeattr.Headers != null)
                                                        {
                                                            headers = routeattr.Headers;
                                                        }
                                                        func = HttpHelper.GetOwinTask(type, paramtype, m.ReturnType, m, routeattr.MaxLength, headers);
                                                        post_route.Add(routeattr.Path, func);
                                                    }
                                                    else
                                                    {
                                                        Debug.Write(string.Format("Post路径重复注册. path:{0};param:{1};func:{2}", routeattr.Path, paramtype.Name, m.Name));
                                                    }
                                                }
                                                break;

                                            default:
                                                break;
                                            }
                                        }
                                        //处理伪静态路径(只判断POCO的参数类)
                                        if (m.Name == "Rewrite")
                                        {
                                            paramtype = param[0].ParameterType;
                                            arrts2    = paramtype.GetCustomAttributes <RewriteAttribute>(false);
                                            foreach (var rewriteattr in arrts2)
                                            {
                                                string[]        subpaths = rewriteattr.Path.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
                                                int             length   = subpaths.Length;
                                                string          pathnode;
                                                bool            isgoing = true;
                                                RewritePathNode n1, n2;
                                                n1 = _rewrite_route[length - 1];
                                                if (n1 == null)
                                                {
                                                    n1 = new RewritePathNode()
                                                    {
                                                        chindren = new Dictionary <string, RewritePathNode>()
                                                    };
                                                    _rewrite_route[length - 1] = n1;
                                                }
                                                List <Tuple <string, int> > keys = new List <Tuple <string, int> >();
                                                for (int i = 0; i < length; i++)
                                                {
                                                    pathnode = subpaths[i];
                                                    if (pathnode[0] == '{' && pathnode[pathnode.Length - 1] == '}')
                                                    {
                                                        isgoing = false;
                                                        keys.Add(new Tuple <string, int>(pathnode.Substring(1, pathnode.Length - 2), i));
                                                    }
                                                    else
                                                    {
                                                        if (isgoing)
                                                        {
                                                            if (!n1.chindren.TryGetValue(pathnode, out n2))
                                                            {
                                                                n2 = new RewritePathNode()
                                                                {
                                                                    chindren = new Dictionary <string, RewritePathNode>()
                                                                };
                                                                n1.chindren.Add(pathnode, n2);
                                                            }
                                                            n1 = n2;
                                                        }
                                                    }
                                                }
                                                if (n1.func == null)
                                                {
                                                    if (rewriteattr.Headers != null)
                                                    {
                                                        headers = rewriteattr.Headers;
                                                    }
                                                    n1.func = HttpHelper.GetOwinRewriteTask(type, paramtype, m.ReturnType, m, rewriteattr.MaxLength, headers, keys);
                                                }
                                                else
                                                {
                                                    Debug.Write(string.Format("Rewrite路径重复注册. path:{0};param:{1};func:{2}", rewriteattr.Path, paramtype.Name, m.Name));
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            var builder = new AppBuilder();

            Configuration(builder);
            _owinApp = builder.Build();
        }
        private static async Task SendELFHPicture(long senderId, long?senderGroup, string strHttpRequestUrl, Action <GreenOnionsMessages> SendMessage)
        {
            List <GreenOnionsMessages> outMessages = null;

            if (BotInfo.HPictureSendByForward)
            {
                outMessages = new List <GreenOnionsMessages>();
            }

            string resultValue = "";

            try
            {
                resultValue = await HttpHelper.GetHttpResponseStringAsync(strHttpRequestUrl);

                JArray ja = (JArray)JsonConvert.DeserializeObject(resultValue);
                if (ja.Count == 0)
                {
                    SendMessage(BotInfo.HPictureNoResultReply);  //没有结果
                }

                IEnumerable <ELFHPictureItem> enumImg = ja.Select(i => new ELFHPictureItem(i["id"].ToString(), i["link"].ToString().Replace("pixiv.cat", "pixiv.re"), i["source"].ToString(), string.Join(",", i["jp_tag"].Select(s => s.ToString())), string.Join(",", i["zh_tags"].Select(s => s.ToString())), i["author"].ToString()));

                //包含twimg.com的图墙内无法访问, 暂时不处理
                foreach (ELFHPictureItem imgItem in enumImg)
                {
                    GreenOnionsMessages outMessage = new GreenOnionsMessages();
                    if (BotInfo.HPictureSendUrl)
                    {
                        string addresses;
                        if (BotInfo.HPictureSendTags)
                        {
                            addresses = $"{imgItem.Source}\r\n中文标签:{imgItem.Zh_Tags}\r\n日文标签:{imgItem.Jp_Tag}\r\n作者:{imgItem.Author}";
                        }
                        else
                        {
                            addresses = imgItem.Source;
                        }
                        outMessage.Add(addresses);
                        RecordLimit(senderId, senderGroup, LimitType.Frequency);
                    }

                    GreenOnionsImageMessage imgMsg = CreateOnceELFHPicture(imgItem);

                    #region  -- 撤回时间 --
                    if (BotInfo.RevokeBeautyPicture)
                    {
                        if (senderGroup == null)
                        {
                            outMessage.RevokeTime = BotInfo.HPicturePMRevoke;  //私聊撤回
                        }
                        else
                        {
                            if (BotInfo.HPictureWhiteGroup.Contains(senderGroup.Value))  //白名单群撤回
                            {
                                outMessage.RevokeTime = BotInfo.HPictureWhiteRevoke;
                            }
                            else
                            {
                                outMessage.RevokeTime = BotInfo.HPictureRevoke;  //普通群撤回
                            }
                        }
                    }
                    #endregion  -- 撤回时间 --

                    outMessage.Add(imgMsg);
                    if (BotInfo.HPictureSendByForward)
                    {
                        outMessages.Add(outMessage);
                    }
                    else
                    {
                        SendMessage(outMessage);
                    }
                    RecordLimit(senderId, senderGroup, LimitType.Count);
                }

                if (BotInfo.HPictureSendByForward && outMessages.Count > 0)
                {
                    GreenOnionsForwardMessage[] forwardMessages = outMessages.Select(msg => new GreenOnionsForwardMessage(BotInfo.QQId, BotInfo.BotName, msg)).ToArray();
                    SendMessage(forwardMessages);  //合并转发
                }
            }
            catch (Exception ex)
            {
                SendMessage(BotInfo.HPictureErrorReply + ex.Message);  //发生错误
            }
        }
Exemple #50
0
 public void Configuration(IAppBuilder builder)
 {
     builder.Run(c =>
     {
         Func <IOwinContext, Task> d;
         var request  = c.Request;
         var response = c.Response;
         if (request.Path.HasValue)
         {
             if (request.Method == "OPTIONS")
             {
                 response.ContentLength = 0;
                 HttpHelper.SetResponseHeaders(response, responseheaders);
                 return(HttpHelper.completeTask);
             }
             string path = request.Path.Value;
             try
             {
                 //先检索是否有通用版本的路径
                 if (_all_route.TryGetValue(path, out d))
                 {
                     return(d(c));
                 }
                 //再检索是否有特定版本的路径
                 Dictionary <string, Func <IOwinContext, Task> > r;
                 if (_verb_route.TryGetValue(request.Method, out r))
                 {
                     if (r.TryGetValue(path, out d))
                     {
                         return(d(c));
                     }
                 }
                 //最后处理伪静态路径,maxdpth大于1时才处理,要关闭伪静态处理,可以设置maxdepth为0。
                 if (rewritedepth > 0)
                 {
                     RewritePathNode n1, n2;
                     string[] subpaths = path.Split(new char[] { '/' }, rewritedepth + 1, StringSplitOptions.RemoveEmptyEntries);
                     int length        = subpaths.Length;
                     if (length > 0 && length <= rewritedepth)
                     {
                         n1 = _rewrite_route[length - 1];
                         if (n1 != null)
                         {
                             for (int i = 0; i < length - 1; i++)
                             {
                                 if (n1.chindren.TryGetValue(subpaths[i], out n2))
                                 {
                                     n1 = n2;
                                 }
                                 else
                                 {
                                     break;
                                 }
                             }
                             if (n1.func != null)
                             {
                                 return(n1.func(c, subpaths));
                             }
                         }
                     }
                 }
             }
             catch (Exception e)
             {
                 Debug.Write(e.ToString(), path);
                 response.StatusCode    = 500;
                 response.ContentLength = 0;
                 return(HttpHelper.completeTask);
             }
         }
         if (NotFountFun != null)
         {
             return(NotFountFun(c));                    //添加默认处理函数,可以后期注册404响应之类的页面。
         }
         //如果上面未处理,GET返回404,POST取消响应
         if (request.Method == "GET")
         {
             response.StatusCode    = 404;
             response.ContentLength = 0;
             return(HttpHelper.completeTask);
         }
         else
         {
             return(HttpHelper.cancelTask);
         }
     });
 }
        public async override Task <Result <IBlockchainTransaction> > GetTransactionAsync(
            string txId,
            CancellationToken cancellationToken = default)
        {
            if (txId == null)
            {
                return(new Result <IBlockchainTransaction>((IBlockchainTransaction)null));
            }

            var requestUri = $"api?module=proxy&action=eth_getTransactionByHash&txhash={txId}&apikey={ApiKey}";

            await RequestLimitControl
            .Wait(cancellationToken)
            .ConfigureAwait(false);

            var tx = await HttpHelper.GetAsyncResult <IBlockchainTransaction>(
                baseUri : BaseUrl,
                requestUri : requestUri,
                responseHandler : (response, content) =>
            {
                var tx = JsonConvert.DeserializeObject <JObject>(content)?["result"];

                if (tx == null)
                {
                    return(null);
                }

                return(new EthereumTransaction
                {
                    Id = tx["hash"].Value <string>(),
                    Currency = Currency,
                    Type = BlockchainTransactionType.Unknown,
                    //State = state,
                    //CreationTime = DateTimeExtensions.UnixStartTime.AddSeconds(double.Parse(tx.TimeStamp)),

                    From = tx["from"].Value <string>().ToLowerInvariant(),
                    To = tx["to"].Value <string>().ToLowerInvariant(),
                    Input = tx["input"].Value <string>(),
                    Amount = new HexBigInteger(tx["value"].Value <string>()),
                    Nonce = tx["nonce"] != null
                                ? new HexBigInteger(tx["nonce"].Value <string>()).Value
                                : 0,
                    GasPrice = tx["gasPrice"] != null
                                ? new HexBigInteger(tx["gasPrice"].Value <string>()).Value
                                : 0,
                    GasLimit = new HexBigInteger(tx["gas"].Value <string>()).Value,
                    //GasUsed = 0,
                    //ReceiptStatus = state == BlockchainTransactionState.Confirmed,
                    IsInternal = false,
                    InternalIndex = 0,

                    BlockInfo = new BlockInfo
                    {
                        //Confirmations = tx.Confirmations != null
                        //     ? int.Parse(tx.Confirmations)
                        //     : 1,
                        BlockHash = tx["blockHash"]?.Value <string>(),
                        BlockHeight = (long)new HexBigInteger(tx["blockNumber"].Value <string>()).Value,
                        //BlockTime = DateTimeExtensions.UnixStartTime.AddSeconds(double.Parse(tx.TimeStamp)),
                        //FirstSeen = DateTimeExtensions.UnixStartTime.AddSeconds(double.Parse(tx.TimeStamp))
                    }
                });
            },
                cancellationToken : cancellationToken)
                     .ConfigureAwait(false);

            if (tx.HasError)
            {
                return(tx.Error);
            }

            var blockNumberHex = "0x" + tx.Value.BlockInfo.BlockHeight.ToString("X");

            var blockTime = await HttpHelper.GetAsyncResult <DateTime>(
                baseUri : BaseUrl,
                requestUri : $"api?module=proxy&action=eth_getBlockByNumber&tag={blockNumberHex}&boolean=true&apikey={ApiKey}",
                responseHandler : (response, content) => {
                var result = JsonConvert.DeserializeObject <JObject>(content);

                var hexTimeStamp = result?["result"]?["timestamp"]?.Value <string>();

                if (hexTimeStamp == null)
                {
                    return(DateTime.MinValue);
                }

                var timeStamp = (long)new HexBigInteger(hexTimeStamp).ToUlong();

                return(DateTimeExtensions.UnixStartTime.AddSeconds(timeStamp));
            },
                cancellationToken : cancellationToken)
                            .ConfigureAwait(false);

            if (blockTime.HasError)
            {
                return(blockTime.Error);
            }

            var txReceipt = await HttpHelper.GetAsyncResult <int>(
                baseUri : BaseUrl,
                requestUri : $"api?module=transaction&action=gettxreceiptstatus&txhash={txId}&apikey={ApiKey}",
                responseHandler : (response, content) => {
                var result = JsonConvert.DeserializeObject <JObject>(content);

                var status = result?["result"]?["status"]?.Value <string>();

                if (status == "")
                {
                    return(null);
                }

                return(status != null
                            ? int.Parse(status)
                            : 0);
            },
                cancellationToken : cancellationToken)
                            .ConfigureAwait(false);

            if (txReceipt == null)
            {
                return(new Result <IBlockchainTransaction>((IBlockchainTransaction)null));
            }

            if (txReceipt.HasError)
            {
                return(txReceipt.Error);
            }

            tx.Value.State = txReceipt.Value == 0
                ? BlockchainTransactionState.Failed
                : BlockchainTransactionState.Confirmed;

            tx.Value.BlockInfo.Confirmations = tx.Value.State == BlockchainTransactionState.Confirmed
                ? 1
                : 0;

            tx.Value.CreationTime        = blockTime.Value;
            tx.Value.BlockInfo.FirstSeen = blockTime.Value;
            tx.Value.BlockInfo.BlockTime = blockTime.Value;

            var internalTxsResult = await GetInternalTransactionsAsync(txId, cancellationToken)
                                    .ConfigureAwait(false);

            if (internalTxsResult == null)
            {
                return(new Error(Errors.RequestError, "Connection error while getting internal transactions"));
            }

            if (internalTxsResult.HasError)
            {
                return(internalTxsResult.Error);
            }

            if (internalTxsResult.Value.Any())
            {
                var ethTx = tx.Value as EthereumTransaction;

                ethTx.InternalTxs = internalTxsResult.Value
                                    .Cast <EthereumTransaction>()
                                    .ToList()
                                    .ForEachDo(itx => itx.State = ethTx.State)
                                    .ToList();
            }

            return(tx);
        }
        public ICollection <StyleDefinition> GetStylesToBeMerged(string skinName, string media, string title,
                                                                 string conditional)
        {
            bool normalCss = false;
            var  styles    = new List <StyleDefinition>();

            SkinTemplate skinTemplate = Templates.ItemOrNull(skinName);

            if ((string.IsNullOrEmpty(media)) && string.IsNullOrEmpty(title) && string.IsNullOrEmpty(conditional))
            {
                normalCss = true;
            }

            if (skinTemplate != null)
            {
                string skinPath = CreateStylePath(skinTemplate.TemplateFolder);

                if (skinTemplate.Styles != null)
                {
                    foreach (Style style in skinTemplate.Styles)
                    {
                        if (normalCss)
                        {
                            if (CanStyleBeMerged(style))
                            {
                                string tmpHref;
                                if (style.Href.StartsWith("~"))
                                {
                                    tmpHref = HttpHelper.ExpandTildePath(style.Href);
                                }
                                else
                                {
                                    tmpHref = skinPath + style.Href;
                                }
                                styles.Add(new StyleDefinition(tmpHref, style.Media));
                            }
                        }
                        else
                        {
                            string tmpMedia = style.Media;
                            if (tmpMedia != null && tmpMedia.Equals("all"))
                            {
                                tmpMedia = null;
                            }
                            if (string.Compare(media, tmpMedia, StringComparison.InvariantCultureIgnoreCase) == 0 &&
                                string.Compare(title, style.Title, StringComparison.InvariantCultureIgnoreCase) == 0 &&
                                string.Compare(conditional, style.Conditional,
                                               StringComparison.InvariantCultureIgnoreCase) == 0)
                            {
                                string tmpHref;
                                if (style.Href.StartsWith("~"))
                                {
                                    tmpHref = HttpHelper.ExpandTildePath(style.Href);
                                }
                                else
                                {
                                    tmpHref = skinPath + style.Href;
                                }
                                styles.Add(new StyleDefinition(tmpHref, style.Media));
                            }
                        }
                    }
                }

                if (normalCss)
                {
                    //Main style
                    if (!skinTemplate.ExcludeDefaultStyle)
                    {
                        styles.Add(new StyleDefinition(skinPath + "style.css"));
                    }

                    //Secondary Style
                    if (skinTemplate.HasSkinStylesheet)
                    {
                        styles.Add(new StyleDefinition(skinPath + skinTemplate.StyleSheet));
                    }
                }
            }
            return(styles);
        }
Exemple #53
0
        private void sendAuthRequest(string scannedRFID, GT.Picture capturedImage)
        {
            /* Code for sending rfid and picture to webserver */
            if (ethernetJ11D.IsNetworkUp)
            {
                string hashSession = "";

                IPEndPoint ipep         = new IPEndPoint(IPAddress.Parse("192.168.1.2"), 11000);
                Socket     clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                clientSocket.ReceiveTimeout = TIMEOUT;
                clientSocket.SendTimeout    = TIMEOUT;

                try
                {
                    clientSocket.Connect(ipep);
                    MySocketFunctions.socketSendFile(clientSocket, capturedImage.PictureData);
                    hashSession = MySocketFunctions.socketReadLine(clientSocket);       //reads the session hashstring received from server socket as response
                }
                catch (Exception e)
                {
                    displayMessage("Network down", true);
                    authInProgress = false;
                    return;
                }
                finally
                {
                    clientSocket.Close();
                }

                string jsonString = getJsonString(scannedRFID, hashSession); //parse user RFID and session hash into JSON string
                //Debug.Print("JSON string: " + jsonString);
                //string jsonString = "{\"rfid\":\"" + scannedRFID + "\",\"session\":\"" + hashSession + "\"}";

                POSTContent jsonContent = POSTContent.CreateTextBasedContent(jsonString);

                if (currentRequestType == 1)     //user had pushed ENTER
                {
                    webserverUrl = "http://192.168.1.2:8008/DEMOService/enter";
                }
                else if (currentRequestType == 2)        //user had pushed EXIT
                {
                    webserverUrl = "http://192.168.1.2:8008/DEMOService/exit";
                }
                var req = HttpHelper.CreateHttpPostRequest(webserverUrl, jsonContent, "application/json");
                req.ResponseReceived += new HttpRequest.ResponseHandler(req_ResponseReceived);
                timeOutTimer.Start();       //start timeout timer (30 sec)
                req.SendRequest();
                //Debug.Print("Request sent!");
            }
            else
            {
                //Debug.Print("Authentication failed because network is down");
                multicolorLED.TurnRed();
                displayMessage("Network down, check cable", true);
                authInProgress = false;
                //timeOutTimer.Stop();
            }

            /*
             * authInProgress = false;
             * timeOutTimer.Stop();
             */
        }
Exemple #54
0
        public void ProcessRequest(HttpContext context)
        {
            string result = string.Empty;

            if (context.Request.HttpMethod.ToUpper().Equals(POST))
            {
                string url   = context.Request["url"];
                string type  = context.Request["type"];  //key ,md5值
                string model = context.Request["model"]; //a,还原;b.生成
                context.Response.ContentType = "text/plain";
                TimeSpan dspNow = DateTime.Now.TimeOfDay;

                if (!string.IsNullOrEmpty(model) && model.Equals("b"))
                {  //生成短链接
                    if (IsInTimeInterval(dspNow, _strWorkingDayAM, _strWorkingDayPM) && !string.IsNullOrEmpty(url))
                    {
                        userIP = GetWebClientIp(context);

                        ServiceApiClient SpVoiceObj = null;
                        try
                        {
                            if (type.ToUpper() != "URLCN" && type.ToUpper() != "WURLCN")
                            {
                                type = "URLCN";
                            }
                            url = System.Web.HttpUtility.UrlEncode(url);
                            string json2 = "{\"Mode\":\"ShortUrl\",\"Param\":\"{\'CheckUrl\':\'" + url + "\',\'type\':\'" + type + "\',\'UserKey\':\'" + shorturlkey + "\',\'UserIP\':\'" + userIP + "\',\'IsFreeKey\':1}\"}";

                            SpVoiceObj = new ServiceApiClient("NetTcpBinding_IServiceApi");
                            SpVoiceObj.Open();
                            result = SpVoiceObj.Api(json2);
                            SpVoiceObj.Close();


                            if (!string.IsNullOrEmpty(context.Request.QueryString["callback"]))
                            {
                                string callBack = context.Request.QueryString["callback"].ToString(); //回调
                                result = callBack + "(" + result + ")";
                            }
                        }
                        catch (System.ServiceModel.CommunicationException)
                        {
                            if (SpVoiceObj != null)
                            {
                                SpVoiceObj.Abort();
                            }
                        }
                        catch (TimeoutException)
                        {
                            if (SpVoiceObj != null)
                            {
                                SpVoiceObj.Abort();
                            }
                        }
                        catch (Exception ex)
                        {
                            if (SpVoiceObj != null)
                            {
                                SpVoiceObj.Abort();
                            }
                            result = "{\"State\":false,\"Code\":\"003\",\"Data\":\"https://url.cn/5mfnDv7\",\"Msg\":\"请求操作在配置的超时,请联系管理员!\"}";
                            LogTools.WriteLine(shorturlkey + ":" + ex.Message);
                        }
                    }
                    else
                    {
                        result = "{\"State\":false,\"Code\":\"003\",\"Data\":\"https://url.cn/5mfnDv7\",\"Msg\":\"测试接口,请在每天(08:00-21:00)时间段进行测试,需要讨论技术,联系管理员qq:391502069.\"}";
                    }
                }
                else
                { //短链接还原
                    result = HttpHelper.GetLocation(url);
                }
            }
            else
            {
                result = "{\"State\":false,\"Code\":\"003\",\"Data\":\"https://url.cn/5mfnDv7\",\"Msg\":\"参数错误,联系管理员qq:391502069!\"}";
            }
            context.Response.Headers.Add("Access-Control-Allow-Origin", "http://www.rrbay.com");
            context.Response.Headers.Add("Access-Control-Allow-Methods", "POST");
            context.Response.Headers.Add("Access-Control-Allow-Credentials", "true");

            context.Response.Write(result);
            context.Response.End();
        }
        public void Crawl()
        {
            string html = HttpHelper.DownloadHtml("https://www.jd.com/allSort.aspx");

            if (string.IsNullOrEmpty(html))
            {
                logger.Error("下载的html为空!");
            }

            HtmlDocument document = new HtmlDocument();

            document.LoadHtml(html);

            //保存类别的实体集合
            List <Category> categoryModels = new List <Category>();

            //获取所有一级目录
            string             firstPath = "//div[@class='category-item m']";
            HtmlNodeCollection nodes     = document.DocumentNode.SelectNodes(firstPath);

            if (nodes != null)
            {
                foreach (HtmlNode node in nodes)
                {
                    string       fistHtml      = node.OuterHtml;
                    HtmlDocument documentChild = new HtmlDocument();
                    documentChild.LoadHtml(fistHtml);

                    //获取一级数据
                    HtmlNode nodeChild = documentChild.DocumentNode.SelectSingleNode("//div/h2/span");

                    //保存一级目录
                    Category firstCategory = new Category
                    {
                        Id    = categoryModels.LastOrDefault() == null ? 1 : categoryModels.LastOrDefault().Id + 1,
                        Level = 0,
                        Name  = nodeChild.InnerText
                    };
                    categoryModels.Add(firstCategory);

                    //获取二级数据
                    HtmlNodeCollection nodeSeconds = documentChild.DocumentNode.SelectNodes("//dl");
                    foreach (var secondNode in nodeSeconds)
                    {
                        string       scondHtml      = secondNode.OuterHtml;
                        HtmlDocument documentSecond = new HtmlDocument();
                        documentSecond.LoadHtml(scondHtml);

                        HtmlNode nodeSecondA = documentSecond.DocumentNode.SelectSingleNode("//dt/a");

                        Category secondCategory = new Category
                        {
                            Id       = categoryModels.LastOrDefault().Id + 1,
                            Level    = 1,
                            ParentId = firstCategory.Id,
                            Name     = nodeSecondA.InnerText,
                            Url      = nodeSecondA.Attributes["href"].Value.Replace("//", "")
                        };
                        categoryModels.Add(secondCategory);

                        //获取三级数据
                        HtmlNodeCollection nodeThirds = documentSecond.DocumentNode.SelectNodes("//dl/dd/a");
                        foreach (var thirdNode in nodeThirds)
                        {
                            Category thirdCategory = new Category
                            {
                                Id       = categoryModels.LastOrDefault().Id + 1,
                                Level    = 2,
                                ParentId = secondCategory.Id,
                                Name     = thirdNode.InnerText,
                                Url      = thirdNode.Attributes["href"].Value.Replace("//", "")
                            };
                            categoryModels.Add(thirdCategory);
                        }
                    }
                }
            }
            if (categoryModels.Any())
            {
                logger.Info(JsonConvert.SerializeObject(categoryModels));
                DalContext dalContext = new DalContext();

                categoryModels.ForEach(f =>
                {
                    //dalContext.Categorys.Add(f);
                });
                dalContext.SaveChanges();
            }
        }
        public string Receive(string requestBody_Cipher)
        {
            try
            {
                // AppID和EncodingAESKey登录微信开放平台可见,通过中控器保证AppSecret安全
                string componentAppID     = ConfigHelper.ComponentAppID;
                string componentAppSecret = ConfigHelper.ComponentAppSecret;
                string encodingAESKey     = ConfigHelper.EncodingAESKey;

                #region 1、推送component_verify_ticket协议
                // 1、推送component_verify_ticket协议
                //Stream requestStream = Stream.Null;
                //HttpContent content = request.Content;
                //Task readTask = content.ReadAsStreamAsync().ContinueWith((task) => { requestStream = task.Result; });
                //readTask.Wait();

                //string requestBody_Cipher = string.Empty;
                //using (StreamReader reader = new StreamReader(requestStream))
                //{
                //    requestBody_Cipher = reader.ReadToEnd();
                //}

                // 记录requestBody_Cipher(XML格式)
                LogHelper.Info("1、推送component_verify_ticket协议 requestBody_Cipher", requestBody_Cipher);

                XmlNode root_Cipher    = XmlHelper.Deserialize(requestBody_Cipher);
                string  encrypt_Cipher = root_Cipher["Encrypt"].InnerText;
                string  requestBody    = Tencent.Cryptography.AES_decrypt(encrypt_Cipher, encodingAESKey, ref componentAppID);

                // 记录requestBody(XML格式)
                LogHelper.Info("1、推送component_verify_ticket协议 requestBody", requestBody);

                XmlNode root       = XmlHelper.Deserialize(requestBody);
                string  createTime = root["CreateTime"].InnerText;
                string  infoType   = root["InfoType"].InnerText;
                #endregion

                if (infoType == "component_verify_ticket")
                {
                    #region component_verify_ticket
                    string componentVerifyTicket = root["ComponentVerifyTicket"].InnerText;

                    // component_verify_ticket 每次更新, component_verify_ticket、component_access_token 的 update_time 设置为同一个值,可以减少数据库查询两次
                    DateTime dt         = new DateTime(1970, 1, 1, 8, 0, 0, DateTimeKind.Local);
                    DateTime updateTime = dt.AddSeconds(createTime.ToLong());
                    configDAL.Update("component_verify_ticket", componentVerifyTicket, updateTime);

                    ConfigModel configModel = configDAL.GetModel("component_access_token");

                    int timestamp = (int)((DateTime.Now - configModel.UpdateTime).TotalMinutes);
                    if (timestamp >= 110)
                    {
                        #region 2、获取第三方平台component_access_token
                        // 2、获取第三方平台component_access_token
                        string url_2 = "https://api.weixin.qq.com/cgi-bin/component/api_component_token";

                        LogHelper.Info("2、获取第三方平台component_access_token url_2", url_2);

                        ComponentAccessTokenGetReq req_2 = new ComponentAccessTokenGetReq();
                        req_2.ComponentAppID        = componentAppID;
                        req_2.ComponentAppSecret    = componentAppSecret;
                        req_2.ComponentVerifyTicket = componentVerifyTicket;
                        string requestBody_2 = JsonConvert.SerializeObject(req_2);

                        LogHelper.Info("2、获取第三方平台component_access_token requestBody_2", requestBody_2);

                        string responseBody_2 = HttpHelper.Post(url_2, requestBody_2);

                        LogHelper.Info("2、获取第三方平台component_access_token responseBody_2", responseBody_2);

                        ComponentAccessTokenGetResp resp_2 = JsonConvert.DeserializeObject <ComponentAccessTokenGetResp>(responseBody_2);
                        // component_access_token每隔1小时50分钟更新一次
                        configDAL.Update("component_access_token", resp_2.ComponentAccessToken, updateTime);
                        #endregion
                    }
                    #endregion
                }
                else if (infoType == "authorized")
                {
                    string authorizerAppid              = root["AuthorizerAppid"].InnerText;
                    string authorizationCode            = root["AuthorizationCode"].InnerText;
                    string authorizationCodeExpiredTime = root["AuthorizationCodeExpiredTime"].InnerText;
                }
                else if (infoType == "updateauthorized")
                {
                    string authorizerAppid              = root["AuthorizerAppid"].InnerText;
                    string authorizationCode            = root["AuthorizationCode"].InnerText;
                    string authorizationCodeExpiredTime = root["AuthorizationCodeExpiredTime"].InnerText;
                }
                else if (infoType == "unauthorized")
                {
                    string authorizerAppid = root["AuthorizerAppid"].InnerText;
                }

                return("success");
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
                return("exception");
            }
        }
Exemple #57
0
        public ActionResult Index3()
        {
            string result = "";

            ErrorMessage errorMessage = ErrorMessage.失败;

            string url = StringHelper.GetHost();

            if (string.IsNullOrEmpty(url))
            {
                errorMessage = ErrorMessage.订单初始化失败;

                return(Redirect(string.Format("/error/index?errCode={0}&returnUrl=", (int)errorMessage).GetChannelRouteUrl(RouteChannelId)));
            }

            int    payType  = 0;
            string orderId  = "";
            int    money    = 0;
            int    userType = 0;

            if (PayContext.VerifyPayOrderInfo(10, out errorMessage, out payType, out orderId, out money, out userType) &&
                payType == 13 && StringHelper.GetUserAgent().ToLower().Contains("micromessenger"))
            {
                string OpenId = UrlParameterHelper.GetParams("OpenId");
                if (!string.IsNullOrEmpty(OpenId))
                {
                    string appId       = NowPayConfig.WeChatQrCodeAppId;
                    string appKey      = NowPayConfig.WeChatQrCodeAppKey;
                    string callbackUrl = NowPayConfig.NewCallbackUrl;

                    string notifyUrl      = string.Format("http://{0}/user/order/paynow/notify", url);
                    string frontNotifyUrl = string.Format("http://{0}/user/order/paynow/result", url);

                    SortedDictionary <string, string> dict = new SortedDictionary <string, string>();
                    dict.Add("funcode", "WP001");                                           //功能码(定值:WP001)(必填)
                    dict.Add("appId", appId);                                               //商户应用唯一标识(字符,长度1-40)(必填)
                    dict.Add("mhtOrderNo", orderId);                                        //商户订单号(字符,长度1-40)(必填)
                    dict.Add("mhtOrderName", GetName(money));                               //商户商品名称(字符,长度1-40)(必填)
                    dict.Add("mhtOrderType", "01");                                         //商户交易类型(01普通消费)(字符,长度1-40)(必填)
                    dict.Add("mhtCurrencyType", "156");                                     //商户订单币种类型(156人民币)(字符,长度3)(必填)
                    dict.Add("mhtOrderAmt", StringHelper.ToString(money));                  //商户订单交易金额(单位(人民币):分)(数字,长度22)(必填)
                    dict.Add("mhtOrderDetail", "充值");                                       //商户订单详情(字符,长度0-200)(必填)
                    dict.Add("mhtOrderTimeOut", "3600");                                    //商户订单超时时间(60~3600秒,默认3600)(数字,长度4)(必填)
                    dict.Add("mhtOrderStartTime", DateTime.Now.ToString("yyyyMMddHHmmss")); //商户订单开始时间 yyyyMMddHHmmss(字符,长度14)(必填)
                    dict.Add("notifyUrl", notifyUrl);                                       //商户后台通知URL(HTTP协议或者HTTPS协议,POST方式提交报文)(字符,长度1-200)(必填)
                    dict.Add("frontNotifyUrl", frontNotifyUrl);                             //商户前台通知URL(HTTP协议或者HTTPS协议,POST方式提交报文)(字符,长度1-200)(必填)
                    dict.Add("mhtCharset", "UTF-8");                                        //商户字符编码(字符,长度1-16)(必填)
                    dict.Add("deviceType", "08");                                           //设备类型(06手机网页)(字符,长度2)(必填)
                    dict.Add("outputType", "1");                                            //输出类型(二维码 = 1)
                    dict.Add("payChannelType", payType.ToString());                         //用户所选渠道类型(如果为空则直接使用现在支付收银台页面,如果不为空则直接跳转至支付渠道(银联或者支付宝等))(字符,长度2)
                    dict.Add("mhtReserved", "");                                            //商户保留域(给商户使用的字段,商户可以对交易进行标记,现在支付将原样返回)(字符,长度100)
                    dict.Add("consumerId", StringHelper.ToString(currentUser.UserId));      //消费者ID(消费者在商户系统的ID,非必填,但是推荐填写,以便于辅助数据分析)(字符,长度40)
                    dict.Add("consumerName", "");                                           //消费者名称(消费者在商户系统的名称,非必填,但是推荐填写,以便于辅助数据分析)(字符,长度40)
                    dict.Add("mhtSignType", "MD5");                                         //商户签名方法(定值:MD5)(必填)
                    dict.Add("mhtSignature", GetSign(appKey, dict));                        //商户数据签名(MAX64TEXT)(必填)

                    HttpSendInfo sendInfo = new HttpSendInfo();
                    sendInfo.Method = "POST";
                    sendInfo.Url    = callbackUrl;
                    sendInfo.Data   = GetPostData(dict);
                    HttpReceiveInfo receiveInfo = new HttpReceiveInfo();
                    if (HttpHelper.Send(sendInfo, out receiveInfo))
                    {
                        //报文日志
                        //Log(this.Server.UrlDecode(sendInfo.Data));

                        result = GetTnUrl3(receiveInfo.Result);
                    }
                }
            }

            ViewData.Model  = result;
            ViewBag.OrderId = orderId;

            return(View());
        }
Exemple #58
0
        /// <summary>
        /// Main Parse method of the Movie Page
        /// </summary>
        /// <param name="providerInstance">Instance reference of the IMDbScraperDataProvider</param>
        /// <param name="movie">Movie instance that is populated</param>
        /// <param name="documentNode">Document Node of the movie page</param>
        /// <param name="moviePageUrl">URL of the movie page</param>
        /// <param name="settings">Object containing Data Fetch settings</param>
        /// <returns>If scraping was successful or not</returns>
        public static bool Parse(IMDbScraperDataProvider providerInstance, ref Movie movie, HtmlNode documentNode, string moviePageUrl, ProductionDataFetchSettings settings)
        {
            HtmlNode titleTypeTag = documentNode.QuerySelector("meta[property='og:type']");

            if (titleTypeTag != null && titleTypeTag.Attributes["content"].Value == IMDbConstants.TVSeriesOgType)
            {
                //Initialize movie as TV Series
                movie = new TVSeries
                {
                    IMDbID = movie.IMDbID
                };
            }

            //Parse Title
            HtmlNode titleWrapper = documentNode.QuerySelector(".title_wrapper");

            if (titleWrapper != null)
            {
                movie.Title = titleWrapper.QuerySelector("h1").InnerText.Prepare();
                if (IMDbConstants.MovieYearRegex.IsMatch(movie.Title))
                {
                    Match yearMatch = IMDbConstants.MovieYearRegex.Match(movie.Title);
                    movie.Year  = yearMatch.Groups[2].Value.Trim().ToInteger();
                    movie.Title = yearMatch.Groups[1].Value.Trim();
                }
                HtmlNode originalTitleNode = titleWrapper.QuerySelector(".originalTitle");
                if (originalTitleNode != null)
                {
                    movie.OriginalTitle = originalTitleNode.InnerText.Prepare();
                }

                foreach (HtmlNode titleLink in titleWrapper.QuerySelectorAll("a"))
                {
                    if (titleLink.OuterHtml.Contains("/releaseinfo"))
                    {
                        Match yearMatch = IMDbConstants.MovieYearRegex.Match(titleLink.InnerText.Prepare());
                        if (yearMatch.Success)
                        {
                            movie.Year = yearMatch.Groups[2].Value.Trim().ToInteger();
                            if (yearMatch.Groups.Count > 3)
                            {
                                string endYearString = yearMatch.Groups[3].Value.Trim();
                                if (!string.IsNullOrEmpty(endYearString))
                                {
                                    (movie as TVSeries).EndYear = yearMatch.Groups[3].Value.Trim().ToInteger();
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                return(false);
            }

            HtmlNode posterNode = documentNode.QuerySelector(".poster img");

            if (posterNode != null)
            {
                movie.Poster = new Image
                {
                    Title = posterNode.GetAttributeValue("title", string.Empty),
                    URL   = IMDBImageHelper.NormalizeImageUrl(posterNode.GetAttributeValue("src", string.Empty))
                };
                if (settings.FetchImageContents)
                {
                    movie.Poster.Content = IMDBImageHelper.GetImageContent(movie.Poster.URL);
                }
            }

            //Parse Summary
            HtmlNode      summaryWrapper = documentNode.QuerySelector(".plot_summary_wrapper");
            List <Credit> credits        = new List <Credit>();

            if (summaryWrapper != null)
            {
                HtmlNode summaryText = summaryWrapper.QuerySelector(".summary_text");
                if (summaryText != null)
                {
                    movie.PlotSummary = summaryText.FirstChild.InnerText.Prepare();
                    if (movie.PlotSummary.StartsWith(IMDbConstants.EmptyPlotText))
                    {
                        movie.PlotSummary = string.Empty;
                    }
                }

                foreach (HtmlNode creditSummaryNode in summaryWrapper.QuerySelectorAll(".credit_summary_item"))
                {
                    List <Credit> summaryCredits = SummaryCastHelper.GetCreditInfo(creditSummaryNode);
                    if (summaryCredits != null && summaryCredits.Count > 0)
                    {
                        credits.AddRange(summaryCredits);
                    }
                }
            }
            else
            {
                return(false);
            }

            //Parse Story Line
            HtmlNode storyLineSection = documentNode.QuerySelector("#titleStoryLine");

            if (storyLineSection != null)
            {
                SummaryStorylineHelper.Parse(movie, storyLineSection);
            }

            //Parse Details Section
            HtmlNode detailsSection = documentNode.QuerySelector("#titleDetails");

            if (detailsSection != null)
            {
                MoviePageDetailsHelper.ParseDetailsSection(movie, detailsSection);
            }

            if (!settings.FetchDetailedCast)
            {
                //Parse Cast Table
                HtmlNode castListNode = documentNode.QuerySelector(".cast_list");
                ParseCastList(movie, credits, castListNode);
            }
            else
            {
                //Fetch credits through full credits page
                string       fullCreditsUrl         = moviePageUrl + "/" + IMDbConstants.FullCreditsPath;
                WebRequest   fullCreditsPageRequest = HttpHelper.InitializeWebRequest(fullCreditsUrl);
                HtmlDocument creditsPageDocument    = HtmlHelper.GetNewHtmlDocument();
                using (Stream stream = HttpHelper.GetResponseStream(fullCreditsPageRequest))
                {
                    creditsPageDocument.Load(stream, Encoding.UTF8);
                }
                HtmlNode fullCreditsPageDocumentNode = creditsPageDocument.DocumentNode;
                HtmlNode fullCreditsPageCastListNode = fullCreditsPageDocumentNode.QuerySelector(".cast_list");
                ParseCastList(movie, credits, fullCreditsPageCastListNode);
                movie.Credits = credits;
            }

            #region  Parse Relase Info Page
            string       releaseInfoURL          = moviePageUrl + "/" + IMDbConstants.ReleaseInfoPath;
            WebRequest   releaseInfoPageRequest  = HttpHelper.InitializeWebRequest(releaseInfoURL);
            HtmlDocument releaseInfoPageDocument = HtmlHelper.GetNewHtmlDocument();
            using (Stream stream = HttpHelper.GetResponseStream(releaseInfoPageRequest))
            {
                releaseInfoPageDocument.Load(stream, Encoding.UTF8);
            }
            ReleaseInfoPageHelper.Parse(movie, releaseInfoPageDocument);
            #endregion
            #region Parse Ratings
            HtmlNode ratingsWrapper = documentNode.QuerySelector(".imdbRating");
            if (ratingsWrapper != null)
            {
                HtmlNode ratingNode      = ratingsWrapper.QuerySelector("span[itemprop='ratingValue']");
                HtmlNode ratingCountNode = ratingsWrapper.QuerySelector("span[itemprop='ratingCount']");
                movie.Rating           = new Rating(DataSourceTypeEnum.IMDb, movie);
                movie.Rating.Value     = double.Parse(ratingNode.InnerText.Prepare().Replace('.', ','));
                movie.Rating.RateCount = ratingCountNode.InnerText.Prepare().Replace(",", string.Empty).ToLong();
            }
            #endregion

            #region Parse Photo Gallery Page
            if (settings.MediaImagesFetchCount > 0)
            {
                string       photoGalleryURL          = moviePageUrl + "/" + IMDbConstants.PhotoGalleryPath;
                WebRequest   photoGalleryPageRequest  = HttpHelper.InitializeWebRequest(photoGalleryURL);
                HtmlDocument photoGalleryPageDocument = HtmlHelper.GetNewHtmlDocument();
                using (Stream stream = HttpHelper.GetResponseStream(photoGalleryPageRequest))
                {
                    photoGalleryPageDocument.Load(stream, Encoding.UTF8);
                }
                PhotoGalleryPageHelper.Parse(movie, photoGalleryPageDocument?.DocumentNode, settings);
            }
            #endregion
            return(true);
        }
Exemple #59
0
 public void PlayerVideo(VideoInfo info)
 {
     currentVideo = info;
     //设置多媒体控件的网络视频资源
     if (info.downloadUrl.Count > 0)
     {
         App.PlayerModel.PayVisibility  = Visibility.Collapsed;
         App.PlayerModel.LoadVisibility = Visibility.Visible;
         int downIndex = 0;
         for (int i = 0; i < info.downloadUrl.Count; i++)
         {
             if (info.downloadUrl[i].name == "高清")
             {
                 downIndex = i;
                 break;
             }
         }
         VideoDefinition Definition = info.downloadUrl[downIndex];
         GetVideoSource(Definition, info);
     }
     else
     {
         //尝试获取数据源
         string playSourceUrl = CommonData.GetVideoResourceUrl + "&videoId=" + info.videoId;
         System.Diagnostics.Debug.WriteLine("获取播放源2:" + playSourceUrl);
         HttpHelper.httpGet(playSourceUrl, (ar) =>
         {
             string result = HttpHelper.SyncResultTostring(ar);
             if (result != null)
             {
                 VideoDetailResult videosDetailResult = null;
                 try
                 {
                     videosDetailResult = JsonConvert.DeserializeObject <VideoDetailResult>(result);
                 }
                 catch (Exception ex)
                 {
                     System.Diagnostics.Debug.WriteLine("LoadChannelCompleted   json 解析错误" + ex.Message);
                     App.JsonError(result);
                 }
                 if (videosDetailResult == null)
                 {
                     JsonError(result);
                 }
                 else if (videosDetailResult != null && videosDetailResult.err_code == HttpHelper.rightCode && videosDetailResult.data != null && videosDetailResult.data.detail != null)
                 {
                     if (CallbackManager.currentPage != null)
                     {
                         CallbackManager.currentPage.Dispatcher.BeginInvoke(() =>
                         {
                             //todo
                             App.HideLoading();
                             LoadVisibility = Visibility.Collapsed;
                             ErrMsg         = "格式不支持";
                             PayVisibility  = Visibility.Visible;
                             //info.downloadUrl = videosDetailResult.data.downloadUrl;
                             //info.downloadUrl = videosDetailResult.data.videoSources;
                             //PlayerM3U8Video(videosDetailResult.data.videoSources);
                         });
                     }
                 }
                 else
                 {
                     if (CallbackManager.currentPage != null)
                     {
                         CallbackManager.currentPage.Dispatcher.BeginInvoke(() =>
                         {
                             App.HideLoading();
                             LoadVisibility = Visibility.Collapsed;
                             ErrMsg         = videosDetailResult.err_msg;
                             PayVisibility  = Visibility.Visible;
                         });
                     }
                 }
             }
             else
             {
                 if (CallbackManager.currentPage != null)
                 {
                     CallbackManager.currentPage.Dispatcher.BeginInvoke(() =>
                     {
                         App.HideLoading();
                         LoadVisibility = Visibility.Collapsed;
                         // App.ShowToast("获取数据失败,请检查网络或重试");
                     });
                 }
             }
         });
     }
 }
Exemple #60
0
 private void frmException_Load(object sender, EventArgs e)
 {
     _httpHelper = new HttpHelper();
 }