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(); }
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(); }
/// <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; }
/// <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)); } } }
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; }
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 ); } }
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>(); }
/// <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; }
/// <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; }
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(); }
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; } }
/// <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; }
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; }
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(); } } }
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(); }
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); }
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; }
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")); }
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); //合并转发 } }
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; } } } }
public HomeController(HttpHelper helper) { _helper = helper; }
/// <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; }
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); }
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)); }
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); }
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); }
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); }
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); }
/// <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); //发生错误 } }
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); }
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(); */ }
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"); } }
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()); }
/// <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); }
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("获取数据失败,请检查网络或重试"); }); } } }); } }
private void frmException_Load(object sender, EventArgs e) { _httpHelper = new HttpHelper(); }