public IActionResult GetJSSDKConfig(string url) { var config = wxService.GetWxJSSDKConfig(wxContext, url); var statusCode = config == null ? BIZSTATUS.DATAEMPTY : BIZSTATUS.SUCCESS; return(Ok(HttpRequestUtil.GetHttpResponse((int)statusCode, statusCode.GetDescription(), config))); }
/// <summary> /// 查询交易订单 /// </summary> /// <returns></returns> public WeiXinPayResponse OrderQuery(PayOrderSearchRequest request) { SortedDictionary <String, String> param = new SortedDictionary <String, String>(); String noncestr = CommonUtil.CreateNoncestr(); var mchId = isSubCommercial ? Config.SubPartnerId : Config.PartnerId; param.Add("appid", appid); if (isSubCommercial) { if (Config.IsMiniAppPay) { param.Add("sub_appid", Config.AppId); } param.Add("sub_mch_id", Config.SubPartnerId); } param.Add("mch_id", Config.PartnerId); param.Add("nonce_str", noncestr); if (!string.IsNullOrEmpty(request.TransactionID)) { param.Add("transaction_id", request.TransactionID); } if (!string.IsNullOrEmpty(request.OutTradeNO)) { param.Add("out_trade_no", request.OutTradeNO); } String tmpPackageStr = CommonUtil.CreateLinkString(param); String signValue = CommonUtil.Sign(tmpPackageStr, Config.PartnerKey); param.Add("sign", signValue); String tmpRes = HttpRequestUtil.Send("POST", OrderQueryUrl, CommonUtil.ArrayToXml(param)); return(ConvertToPayResponse(tmpRes)); }
protected void Button1_Click(object sender, EventArgs e) { HttpRequestUtil httpUtil = null; string md5Str = "21349" + "21349001" + "rdL68v6n"; // 获取签名 string SHAInfo = GetSHA256_HEBCB(md5Str); Hashtable headers = new Hashtable(); headers.Add("merNo", "21349"); //商户编号 headers.Add("gatewayNo", "21349001"); //网关接入号 headers.Add("orderNo", "201608170013764468"); //订单号改为流水号 订单编号 非空 txnGetModel.OrderID headers.Add("signInfo", SHAInfo); //交易币种 string szdata = ""; using (httpUtil = new HttpRequestUtil("https://check.payforasia.com/servlet/NormalCustomerCheck", 60)) { szdata = httpUtil.SendMessage(headers); } if (szdata == "1003" || szdata == "1004" || szdata == "") { string n = "1"; } else { XmlDocument XMLReasult = new XmlDocument(); XMLReasult.LoadXml(szdata); } }
/// <summary> /// Process http outgoing request /// </summary> private void OnEventStart(object value) { var request = AgentUtil.FetchPropertyUsingReflection(value, "Request"); if (request is HttpWebRequest webRequest) { // Skip AWS SDK Request since it is instrumented using the SDK if (HttpRequestUtil.IsTraceable(webRequest)) { HttpRequestUtil.ProcessRequest(webRequest); try { var currentSubsegment = AWSXRayRecorder.Instance.GetEntity() as Subsegment; if (currentSubsegment != null) { CurrentHttpWebRequests.TryAdd(webRequest, currentSubsegment); } } catch (EntityNotAvailableException e) { AWSXRayRecorder.Instance.TraceContext.HandleEntityMissing(AWSXRayRecorder.Instance, e, "Subsegment is not available in trace context."); } } } }
/// <summary> /// 打印票据 /// </summary> /// <param name="billModel"></param> /// <returns></returns> public bool DoPrint(BillViewModel billModel, out string errMsg) { var isOk = false; try { LogUtil.Info("开始执行小票打印..."); var url = string.Format("{0}/mcp/sys/print", apiDomain); var parms = string.Format("app_id={0}&access_token={1}&merchant_code={2}&printer_codes={3}&copies={4}&bill_no={5}&bill_type={6}&template_id={7}&bill_content={8}", billModel.app_id.Trim(), billModel.access_token.Trim(), billModel.merchant_code.Trim(), billModel.printer_codes.Trim().ToUpper(), billModel.copies.Trim(), billModel.bill_no.Trim(), billModel.bill_type.Trim(), billModel.template_id.Trim(), billModel.bill_content.Trim()); var result = HttpRequestUtil.HttpPost(url, parms); var apiData = JsonUtil.ToObject <ApiDataQueryModel>(result); if (apiData != null) { isOk = apiData.status == 1; errMsg = isOk ? string.Empty : apiData.data.ToString(); } else { errMsg = "打印失败"; } } catch (Exception ex) { errMsg = "打印失败"; LogUtil.Error(string.Format("执行打印失败,参考消息:{0}", ex.Message)); } return(isOk); }
/// <summary> /// 获取微云打API接口访问令牌 /// </summary> /// <returns></returns> public string GetAccessToken() { var appModel = new AppViewModel(); var expiresIn = 0; var accessToken = CacheFactory.Cache().GetCache <string>(appModel.app_id.Trim()) ?? string.Empty; if (string.IsNullOrWhiteSpace(accessToken)) { var url = string.Format("{0}/mcp/sys/getAccessToken", apiDomain); var parms = string.Format("app_id={0}&app_key={1}", appModel.app_id.Trim(), appModel.app_key.Trim()); var result = HttpRequestUtil.HttpGet(url, parms); var apiData = JsonUtil.ToObject <ApiDataQueryModel>(result); if (apiData != null && apiData.status == 1) { var token = JsonUtil.ToObject <Dictionary <string, object> >(apiData.data.ToString()); if (token != null && token.ContainsKey("access_token")) { //缓存中访问令牌,提前10分钟过期 accessToken = token["access_token"].ToString(); expiresIn = Extensions.ToInt(token["expires_in"], 0) - CacheKeyConsts.CachePreExpiresSeconds; expiresIn = expiresIn > 0 ? expiresIn : 0; CacheFactory.Cache().WriteCache(expiresIn > 0 ? accessToken : string.Empty, appModel.app_id.Trim(), TimeUtil.Now.AddSeconds(expiresIn)); } } return(accessToken); } else { return(accessToken ?? string.Empty); } }
public IActionResult IsRegister(string openId) { var res = dbService.GetUserByOpenId(openId); var isRegister = res.Count() <= 0 ? false : true; return(Ok(HttpRequestUtil.GetHttpResponse((int)BIZSTATUS.SUCCESS, BIZSTATUS.SUCCESS.GetDescription(), isRegister))); }
/// <summary> /// 确认订单 /// </summary> /// <param name="orderId"></param> /// <param name="appAuthToken"></param> /// <returns></returns> public string ConfirmOrder(long orderId, string appAuthToken) { var errMsg = string.Empty; var parms = new SortedDictionary <string, object>(); parms.Add("orderId", orderId); parms.Add("appAuthToken", appAuthToken); parms.Add("charset", "utf-8"); parms.Add("timestamp", TimeUtil.SecondTicks_1970); var sign = SignUtil.GetMeituanSign(parms, ConfigUtil.MeiSignKey); var parmStr = new StringBuilder(); var url = MeituanConsts.CONFIRM_ORDER_API; foreach (var parm in parms) { parmStr.AppendFormat("{0}={1}&", parm.Key, parm.Value); } var pars = string.Format("{0}sign={1}", parmStr.ToString(), sign); try { var result = HttpRequestUtil.HttpPost(url, pars); LogUtil.Info(string.Format("调用确认订单接口,返回:{0}", result)); if (result.ToUpper().IndexOf("\"" + MeituanConsts.API_RETURN_OK + "\"") <= -1) { errMsg = result; } } catch (Exception ex) { errMsg = ex.InnerException.ToString(); } return(errMsg); }
private string getPageContent(string url, int pageNumber, string order) { order = order.Replace("&", "&"); string clientUrl = webUrl + url + "&page=" + pageNumber + "&order=" + order; return(HttpRequestUtil.requestURL(clientUrl, "utf-8")); }
/// <summary> /// 登出。 /// </summary> /// <param name="userName">用户名。</param> /// <param name="cancelAutoLogin">一个值,指示是否取消自动登入。</param> /// <returns></returns> public IManagerPage Logout(string userName, bool cancelAutoLogin) { LogoutInfo logoutInfo = new LogoutInfo() { wlanAcName = this.wlanAcName, wlanUserIp = this.wlanUserIp, userName = userName, encryUser = string.Format("{0}{1:D15}", this.currentTime.ToString("yyyyMMddHHmmssfff"), // 当前日期时间作为前17位. 0 // 后跟15位0,补齐32位。 ) }; string dataStr = logoutInfo.SerializeData(); string response = this.encoding.GetString( HttpRequestUtil.Post( this.loginActionAddress, this.encoding.GetBytes(dataStr) ) ); HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(response); return(new LogoutingPage(doc) { wlanAcName = this.wlanAcName, wlanUserIp = this.wlanUserIp, scriptVariants = this.scriptVariants }); }
public object GetMeituanGetUrl() { //1.校验请求参数 var errMsg = string.Empty; var parms = new SortedDictionary <string, object>(); parms.Add("appAuthToken", "5eb0b7509b2148e2a5ba4a4c671e9750208bb59ef8e3c7f4349cb88aa8d63384224cc76585b83f9f112b3480b715fd52"); parms.Add("charset", "utf-8"); parms.Add("timestamp", TimeUtil.SecondTicks_1970); //parms.Add("ePoiId", "10004"); var sign = SignUtil.GetMeituanSign(parms, ConfigUtil.MeiSignKey); var parmStr = new StringBuilder(); var url = "http://api.open.cater.meituan.com/waimai/dish/queryCatList";//"http://api.open.cater.meituan.com/waimai/dish/queryBaseListByEPoiId"; foreach (var parm in parms) { parmStr.AppendFormat("{0}={1}&", parm.Key, parm.Value); } var pars = string.Format("{0}sign={1}", parmStr.ToString(), sign); try { var result = HttpRequestUtil.HttpGet(url, pars); LogUtil.Info(string.Format("调用接口,返回:{0}", result)); errMsg = result; } catch (Exception ex) { errMsg = ex.InnerException.ToString(); } return(errMsg); }
public UrlTemplate GetUrlTemplate(MethodInfo methodInfo) { var serviceAttribute = methodInfo.DeclaringType.GetCustomAttribute <ConsulServiceAttribute>(); if (serviceAttribute != null) { var serviceName = serviceAttribute.ServiceName; var pathAttribute = methodInfo.GetCustomAttribute <ConsulPathAttribute>(); if (pathAttribute != null) { var urlPath = pathAttribute.Path; var httpMethod = pathAttribute.HttpMethod; var loadBalance = LoadBalanceRepository.GetLoadBalance(methodInfo.DeclaringType.FullName); var serviceInfo = _consulInfoProvider.GetServiceInfo(serviceName, loadBalance); if (serviceInfo == null) { throw new Exception($"Can't find {serviceName} in Consul"); } var host = serviceInfo.Address.StartsWith("http") ? serviceInfo.Address : $"http://{serviceInfo.Address}"; return(new UrlTemplate { Host = $"{host}:{serviceInfo.ServicePort}", HttpMethod = httpMethod, Url = urlPath }); } } return(HttpRequestUtil.BuildUrlTemplate(methodInfo)); }
public void InitServiceTest() { new Thread(() => { while (true) { var pid = "0"; try { pid = HttpRequestUtil.GetHttpResponse("http://localhost:8081/pid", 3000); } catch (Exception e) { } var p = Convert.ToInt64(pid); if (p > 0) { CmdUtils.RunCmdStandard("taskkill /f /pid " + p); break; } else { Thread.Sleep(3000); } } }).Start(); IRpcService rpc = new RpcServiceImpl(); rpc.ReCreateJMapQuery(); rpc.InitService(); }
/// <summary> /// 发送普通心跳 /// </summary> public void SendCommonHeartbeat() { try { var deviceList = spServ.GetList(PlatformType.Meituan); var devices = (from d in deviceList select new { ePoiId = d.ShopId.ToString(), posId = d.PrinterCode }).ToList(); var parms = new SortedDictionary <string, object>(); parms.Add("developerId", ConfigUtil.MeiDeveloperId); parms.Add("time", TimeUtil.SecondTicks_1970); parms.Add("list", devices); var datastr = JsonUtil.ToJson(parms); var data = new SortedDictionary <string, object>(); data.Add("data", datastr); var sign = SignUtil.GetMeituanSign(data, ConfigUtil.MeiSignKey); var url = MeituanConsts.COMMON_HEARBEAT_API; var pars = string.Format("data={0}&sign={1}", datastr, sign); var result = HttpRequestUtil.HttpPost(url, pars); LogUtil.Info(string.Format("发送普通心跳,返回:{0}", result)); } catch (Exception ex) { LogUtil.Error(string.Format("发送普通心跳失败,参考信息:{0}", ex.Message)); } }
public IActionResult RechargeCallBack(string openId, decimal amount) { var isOk = dbService.ReCharge(openId, amount); var state = isOk ? BIZSTATUS.SUCCESS : BIZSTATUS.FAILEDTORECHARGE; return(Ok(HttpRequestUtil.GetHttpResponse((int)state, state.GetDescription(), ""))); }
/// <summary> /// 查询订单 /// </summary> /// <param name="orderId"></param> /// <param name="appAuthToken"></param> /// <returns></returns> public MeituanOrderModel QueryOrder(string orderId, string appAuthToken) { MeituanOrderModel orderModel = null; try { var parms = new SortedDictionary <string, object>(); parms.Add("orderId", orderId); parms.Add("appAuthToken", appAuthToken); parms.Add("charset", "utf-8"); parms.Add("timestamp", TimeUtil.SecondTicks_1970); var sign = SignUtil.GetMeituanSign(parms, ConfigUtil.MeiSignKey); var parmStr = new StringBuilder(); var url = MeituanConsts.QUERY_ORDER_BYID_API; foreach (var parm in parms) { parmStr.AppendFormat("{0}={1}&", parm.Key, parm.Value); } var pars = string.Format("{0}sign={1}", parmStr.ToString(), sign); var result = HttpRequestUtil.HttpPost(url, pars); LogUtil.Info(string.Format("调用查询订单接口,返回:{0}", result)); var retValue = JsonUtil.ToObject <ApiDataQueryModel>(result); orderModel = JsonUtil.ToObject <MeituanOrderModel>(retValue.data.ToString()); } catch (Exception ex) { var msg = string.Format("查询美团订单失败,订单Id:{0},访问令牌:{1},参考信息:{2}", orderId, appAuthToken, ex.InnerException); LogUtil.Error(msg); } return(orderModel); }
/// <summary> /// 查询美团门店信息 /// </summary> /// <returns></returns> public MeituanShopModel GetMeituanShop(string appAuthToken, string ePoiIds) { MeituanShopModel model = null; var parms = new SortedDictionary <string, object>(); parms.Add("appAuthToken", appAuthToken); parms.Add("charset", "utf-8"); parms.Add("timestamp", TimeUtil.SecondTicks_1970); parms.Add("ePoiIds", ePoiIds); var sign = SignUtil.GetMeituanSign(parms, ConfigUtil.MeiSignKey); var parmStr = new StringBuilder(); var url = MeituanConsts.QUERY_SHOP_INFO_API; foreach (var parm in parms) { parmStr.AppendFormat("{0}={1}&", parm.Key, parm.Value); } var pars = string.Format("{0}sign={1}", parmStr.ToString(), sign); try { var result = HttpRequestUtil.HttpGet(url, pars); LogUtil.Info(string.Format("调用查询美团门店接口,返回:{0}", result)); var list = JsonUtil.ToObject <List <MeituanShopModel> >(result.Replace("{\"data\":", string.Empty).TrimEnd('}')); model = (list != null && list.Count > 0) ? list.FirstOrDefault() : null; } catch (Exception ex) { LogUtil.Error(string.Format("调用查询美团门店接口失败,参考信息:{0}", ex.InnerException.ToString())); } return(model); }
/// <summary> /// 通过网页重定向获取 <see cref="Wlan_eduManager"/> 实例。 /// </summary> /// <returns>Wlan-edu 管理器实例。</returns> public static Wlan_eduManager CreateManagerFromRedirection() { string url; Encoding encoding = Encoding.UTF8; HtmlDocument document; // 通过重定向获取登录地址。 url = "http://1.1.1.1/"; document = new HtmlDocument(); document.Load(HttpRequestUtil.GetHtmlContentStreamReader(url, encoding)); string refresh_content = document.DocumentNode.SelectSingleNode(@"html/head/meta[@http-equiv='refresh']")?.GetAttributeValue("content", null); ; // 获取登录地址。 url = Regex.Match(refresh_content.Split(';')[1], @"url=(?<Url>\S*)").Groups["Url"].Value; var queryArgs = Regex.Matches( new Uri(url, UriKind.Absolute).Query, @"(?<=^\?|&)(?<Key>\w+?)=(?<Value>\S*?)(?=&|$)" ) .OfType <Match>() .ToDictionary( (match => match.Groups["Key"].Value.ToLower()), (match => match.Groups["Value"].Value) ); string wlanAcName = queryArgs["wlanacname"]; string wlanUserIp = queryArgs["wlanuserip"]; ; return(new Wlan_eduManager(wlanAcName, wlanUserIp, url, encoding)); }
protected void Page_Load(object sender, EventArgs e) { HttpRequestUtil httpUtil = null; Hashtable headers = new Hashtable(); Logger m_oLogger = new Logger(@"C:\Users\Fan\Desktop\ceshi\test.log", 0); headers.Add("merNo", 1); //商户编号 headers.Add("terNo", 1); //终端号 headers.Add("transType", "sales"); //交易类型 headers.Add("apiType", 1); //接口类型 默认传递1;(1普通接口、2 app sdk、3快捷支付、4 虚拟 headers.Add("transModel", "M"); //交易模式 headers.Add("EncryptionMode", "SHA256"); //加密方式类型 headers.Add("CharacterSet", "UTF8"); //字符编码 headers.Add("amount", 1); //保留两位小数 Math.Round( Convert.ToDecimal(m_PostAmt) / 100,2) headers.Add("currencyCode", "CNY"); //交易币种 headers.Add("orderNo", 1); //订单号改为流水号 订单编号 非空 txnGetModel.OrderID headers.Add("merremark", "商户预留字段"); //商户预留字段 headers.Add("returnURL", "http://www.yourshop.com/returnpage.php"); //returnURL headers.Add("webInfo", @"userAgent:Mozilla/5.0 (Windows NT 6.3; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0"); //客户端浏览器信息 headers.Add("language", "En"); //语言 using (httpUtil = new HttpRequestUtil("https://h7226.dkhdz.com:4430/ACCPGW/Payment/PaymentInterface.aspx", 60)) { string szdata = httpUtil.SendMessage(headers); } }
private ElemeRetTokenModel GetTokenByRefreshToken(StringBuilder parms, int tryNum) { //请求接口地址 ElemeRetTokenModel token = null; var header = Base64Util.Base64Encode(string.Format("{0}:{1}", ConfigUtil.EleAppKey, ConfigUtil.EleAppSecret), Encoding.UTF8); var responseText = HttpRequestUtil.HttpPost(ElemeConsts.GET_ACCESS_TOKEN_API, parms.ToString(), false, header); if (!string.IsNullOrWhiteSpace(responseText)) { token = JsonUtil.ToObject <ElemeRetTokenModel>(responseText); if (token == null) { LogUtil.Error(string.Format("通过RefreshToken获取AccessToken返回错误信息:{0},请求参数:{1}", responseText, parms.ToJson())); } else { //令牌提前半天过期(12h) token.expires_in = token.expires_in - (12 * 60 * 60); LogUtil.Info(string.Format("尝试通过RefreshToken:{0}获取AccessToken:{1}", parms.ToString(), token.ToJson())); } } else { LogUtil.Error(string.Format("通过RefreshToken获取AccessToken失败,返回信息为空,请求参数:{0}", parms.ToJson())); } return(token); }
// Get Village location: lat & lag from Baidu // http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding private LocationInfo GetNewVillageLocation(string villageName) { LocationInfo locationInfo = new LocationInfo(); try { string baiAk = "7UA0GQRgTDFVcQ8bnpA7LFsFiFQRIphS"; string getUrl = $"http://api.map.baidu.com/geocoding/v3/?address=重庆市{villageName}&output=json&ak={baiAk}"; string response = HttpRequestUtil.CreateGetHttpResponse(getUrl); RootObject rootObject = JsonConvert.DeserializeObject <RootObject>(response); // Update to the database if (rootObject.Status == 0) { locationInfo.VillageName = villageName; locationInfo.Lat = rootObject.Result.Location.Lat; locationInfo.Lng = rootObject.Result.Location.Lng; } Console.WriteLine(response); Console.WriteLine($"{DateTime.Now}: get location info from BaiDu Map for {villageName}."); } catch (Exception e) { Console.WriteLine(e); return(null); } return(locationInfo); }
public void SendTemplateMessage(TemplateMessage request, TemplateMessageResponse response) { AtResponse wxr = GetAcc(); if (String.IsNullOrEmpty(wxr.Expires_in)) { throw new WeChatException("GET_ACCESSTOKEN_FAIL", "获取AccessToken失败"); } Hashtable s1 = new Hashtable { { @"keynote1", request.keynote1 }, { @"keynote2", request.keynote2 } }; string data = XmlAndJsonToHash.HashTableToXml(s1); Hashtable s2 = new Hashtable { { @"touser", request.touser }, { @"template_id", request.template_id }, { @"url", request.url }, { @"data", data } }; string postData = XmlAndJsonToHash.HashTableToXml(s2); String wxResult = HttpRequestUtil.HttpPost(string.Format(TemplateMessageUrl, wxr.Access_token), postData); TmResponse tr = JsonHelper.Deserialize <TmResponse>(wxResult); if (tr.errmsg.ToUpper() == "OK") { response.errcode = tr.errcode; response.errmsg = tr.errmsg; response.ResponseStatus.ErrorCode = "OK"; } else { throw new WeChatException("SendTemplateMessage_fail", "发送模板消息失败"); } }
public SaveRedirect(SiteCollector collector, string path, Action <Action> queue, HttpRequestUtil request) { _collector = collector; _path = path; _queue = queue; _request = request; }
// 二供执行体辅助工具 private PandaToken GetToken() { PandaToken token = null; string AppKey = param.appKey; string appSecret = param.appSecret; string url = param.getTokenUrl; IDictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("AppKey", AppKey); parameters.Add("appSecret", appSecret); HttpRequestUtil requestUtil = new HttpRequestUtil(ContentType.XWwwFromUrlencoded); requestUtil.CreateSyncPostHttpRequest(url, parameters, (successData) => { token = ByteUtil.ToDeserializeObject <PandaToken>(successData); if (token == null) { TraceManagerForWeb.AppendErrMsg("获取熊猫二供接口token失败:" + "返回的数据格式不正确"); return; } if (token.code == "200") { TraceManagerForWeb.AppendDebug("获取熊猫二供接口token成功"); return; } else if (token.code == "10005") { TraceManagerForWeb.AppendErrMsg("获取熊猫二供接口token失败:" + "参数为空或格式不正确,确认appKey是否正确"); token = null; return; } else if (token.code == "10006") { TraceManagerForWeb.AppendErrMsg("获取熊猫二供接口token失败:" + "Appkey和AppSecret不匹配"); token = null; return; } else if (token.code == "49999") { TraceManagerForWeb.AppendErrMsg("获取熊猫二供接口token失败:" + "接口调用异常"); token = null; return; } else { TraceManagerForWeb.AppendErrMsg("获取熊猫二供接口token失败:" + "错误的返回码"); token = null; return; } }, (failData) => { token = null; TraceManagerForWeb.AppendErrMsg("获取熊猫二供接口token失败" + failData); }, (doErrorData) => { token = null; TraceManagerForWeb.AppendErrMsg("处理熊猫二供接口token数据失败" + doErrorData); }); return(token); }
public SMSResult SentSMS(string phone, int code) { Dictionary <string, string> paramDict = new Dictionary <string, string>(); paramDict.Add("phone", phone); paramDict.Add("code", Convert.ToString(code)); return(HttpRequestUtil.Get <SMSResult>(Const.SMSUrl, paramDict)); }
public IActionResult SendVerificationCode(string openId, string phone) { var code = verificationCodeService.NewCode(codeDict, phone); var result = smsService.SentSMS(phone, code.Code); return(Ok(HttpRequestUtil.GetHttpResponse((int)BIZSTATUS.SUCCESS, BIZSTATUS.SUCCESS.GetDescription(), result))); }
/// <summary> /// 统一下单接口 /// </summary> /// <param name="request"></param> /// <param name="response"></param> public void CreateOrders(CreateOrder request, CreateOrderResponse response) { DateTime dt = DateTime.Now; string timeStart = string.Format("{0:yyyyMMddHHmmss}", dt); string timeExpire = string.Format("{0:yyyyMMddHHmmss}", dt.AddSeconds(300)); SortedDictionary <string, string> ht = new SortedDictionary <string, string> { { "appid", ConfigurationManager.AppSettings["APPID"] }, { "mch_id", ConfigurationManager.AppSettings["MCHID"] }, { "device_info", "WEB" }, { "nonce_str", RandomHelper.GenerateString(32) }, { "sign_type", "MD5" }, { "body", request.Body }, { "detail", request.Detail }, { "attach", request.Attach }, { "out_trade_no", request.OutTradeNo }, { "fee_type", "CNY" }, { "total_fee", "" + request.TotalFee }, { "spbill_create_ip", request.SpbillCreateIp }, { "time_start", timeStart }, { "time_expire", timeExpire }, { "goods_tag", request.GoodsTag }, { "notify_url", ConfigurationManager.AppSettings["NOTIFYURL"] }, { "trade_type", "JSAPI" }, { "openid", request.Openid }, { "product_id", request.ProductId } }; if (string.IsNullOrEmpty(request.LimitPay)) { if (request.LimitPay == "no_credit") { ht.Add("limit_pay", "no_credit"); } } string sign = Md5Helper.UserMd5(WxPayHelper.CreateSign(ht)); ht.Add("sign", sign); string postXml = WxPayHelper.CreateXmlRequest(ht); string wxResult = HttpRequestUtil.HttpPost(UrlUnifiedorder, postXml); Hashtable htt = XmlAndJsonToHash.XmlToHashTable(wxResult); wxResult = JsonHelper.ToJson(htt); CoResponse tr = JsonHelper.Deserialize <CoResponse>(wxResult); response.ResponseStatus.ErrorCode = tr.return_code; response.ResponseStatus.Message = tr.return_msg; if (tr.return_code == "SUCCESS" && tr.result_code == "SUCCESS") { response.PrepayId = tr.prepay_id; } else { response.ResponseStatus.ErrorCode = tr.err_code; response.ResponseStatus.Message = tr.err_code_des; } }
public void IsNoCacheRequested_NullHeader_False() { // Act var result = HttpRequestUtil.IsNoCacheRequested(null); // Assert Assert.IsFalse(result); }
public void IsNoCacheRequested_ContainsNoCache_True() { // Act var result = HttpRequestUtil.IsNoCacheRequested("no-cache"); // Assert Assert.IsTrue(result); }
private AtResponse GetAcc() { var appId = ConfigurationManager.AppSettings["APPID"]; var appsecret = ConfigurationManager.AppSettings["APPSECRET"]; String wxResult = HttpRequestUtil.HttpGet(string.Format(AccessTokenUrl, appId, appsecret)); AtResponse wxr = JsonHelper.Deserialize <AtResponse>(wxResult); return(wxr); }