public static void log(string message) { Dictionary <string, object> data = new Dictionary <string, object> (); data["cmd"] = "client_log"; Dictionary <string, object> biData = new Dictionary <string, object> (); biData["message"] = message; data["bi"] = biData; HttpRequestService.sendRequest(data, null, null, BI_FORM_KEY); }
public static void login(string account = "anonymous") { Dictionary <string, object> data = new Dictionary <string, object> (); data["cmd"] = "biLogin"; Dictionary <string, object> biData = new Dictionary <string, object> (); biData["account"] = account; data["bi"] = biData; HttpRequestService.sendRequest(data, null, null, BI_FORM_KEY); }
void syncScoreData() { if (BIModel.Instance.BIScoreDataList.Count > 0) { Dictionary <string, object> data = new Dictionary <string, object> (); data["cmd"] = "level_up"; data["v"] = AppSettings.frontEndVersion.ToString(); data["bi"] = BIModel.Instance.BIScoreDataList; HttpRequestService.sendRequest(data, new HttpRequestService.RequestSuccessDelegate(onSyncScoreSuccess), null, BI_FORM_KEY); } }
public void TestCreateUriWithParametersAreNull() { // Arrange var baseUri = new Uri("http://a.com"); // Act & Assert Assert.AreEqual("http://a.com/", HttpRequestService.CreateUri(baseUri, null, null, null).ToString()); Assert.AreEqual("http://a.com/", HttpRequestService.CreateUri(baseUri, Enumerable.Empty <string>(), new NameValueCollection(), string.Empty).ToString()); }
/// <summary> /// 申请高佣活动/营销计划 /// </summary> /// <param name="url"></param> /// <returns></returns> private static Tuple <string, string> GetGaoyong(string url, CookieCollection cookies) { Tuple <string, string> result = null; CookieContainer cookiesContainer = new CookieContainer(); cookiesContainer.Add(cookies); string content = HttpRequestService.HttpGet(url, cookiesContainer); AuctionCodeModel searchResult = JsonConvert.DeserializeObject <AuctionCodeModel>(content); if (searchResult != null && searchResult.ok && searchResult.data != null) { string token = string.IsNullOrEmpty(searchResult.data.couponLinkTaoToken) ? searchResult.data.taoToken : searchResult.data.couponLinkTaoToken; string link = string.IsNullOrEmpty(searchResult.data.couponShortLinkUrl) ? searchResult.data.shortLinkUrl : searchResult.data.couponShortLinkUrl; result = new Tuple <string, string>(token, link); } return(result); }
/// <summary> /// 保存采集到的商品 /// </summary> /// <param name="loginToken"></param> /// <param name="goodsId"></param> /// <param name="goodsName"></param> /// <param name="price">商品价格</param> /// <param name="discountAmount">券价值</param> /// <param name="shareText"></param> /// <returns></returns> public long saveCollectionGoods(string loginToken, string goodsId, string goodsName, decimal price, decimal discountAmount, string shareText, string goodsPromotionUrl, string primaryImg) { Dictionary <string, string> data = new Dictionary <string, string>(); data["token"] = loginToken; data["goodsId"] = goodsId; data["goodsName"] = goodsName; data["price"] = price.ToString("f2"); data["discountAmount"] = discountAmount.ToString("f2"); if (!string.IsNullOrEmpty(shareText)) { data["shareText"] = shareText; } data["goodsPromotionUrl"] = goodsPromotionUrl; data["primaryImg"] = primaryImg; return(HttpRequestService.PostToInt64(ApiDefineConst.saveCollectionGoods, data)); }
public static NeutrinoClient GetNeutrinoClient() { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .AddEnvironmentVariables(); var configuration = builder.Build(); var serverAddress = configuration["ClientAddress"]; var neutrinoClientOptions = new NeutrinoClientOptions(); neutrinoClientOptions.Addresses = new string[] { serverAddress }; neutrinoClientOptions.SecureToken = configuration["SecureToken"]; var httpRequestService = new HttpRequestService(neutrinoClientOptions); return(new NeutrinoClient(httpRequestService)); }
public void TestCreateUri() { // Arrange var baseUri = new Uri("http://a.com"); IEnumerable <string> pathInfos = new List <string> { "a 1", "b 2" }; var queryStrings = new NameValueCollection { { "c 3", "d 4" }, }; const string Fragment = "e 5"; // Act var uri = HttpRequestService.CreateUri(baseUri, pathInfos, queryStrings, Fragment); // Assert Assert.AreEqual("http://a.com/a+1/b+2?c+3=d+4#e+5", uri.ToString()); }
/// <summary> /// 退款处理 /// </summary> /// <param name="param">参数</param> /// <returns>退款结果</returns> public static string Refund(RefunBusinessParam param) { SortedDictionary <string, string> paraTemp = new SortedDictionary <string, string>(); paraTemp.Add("service", "refund_fastpay_by_platform_nopwd"); paraTemp.Add("batch_no", param.batch_no); paraTemp.Add("refund_date", param.refund_date); paraTemp.Add("batch_num", param.batch_num); paraTemp.Add("detail_data", param.detail_data); ProcessBaseParam(param, paraTemp); AddSign(paraTemp); var request = new Request(Config.Gateway) { HttpMethod = HttpMethod.Post, Parameters = paraTemp }; var response = HttpRequestService.GetHttpRequest(request); var reslt = ProcessXmlData(response); return(reslt); }
/// <summary> /// 检查淘宝登录 /// </summary> /// <param name="tbToken"></param> /// <returns></returns> public static bool checkLogin() { try { string url = string.Format("http://pub.alimama.com/pubauc/getCommonCampaignByItemId.json?itemId={0}&t={1}&_tb_token_={2}&pvid=", "", getClientMsgId(), MyUserInfo.GetTbToken()); CookieContainer cookiesContainer = new CookieContainer(); cookiesContainer.Add(MyUserInfo.cookies); string content = HttpRequestService.HttpGet(url, cookiesContainer); if (content.Contains("html")) { return(false); } else { return(true); } } catch (Exception) { return(false); } }
public async Task TestDoExchangeAsync() { // Arrange Cache cacheThatWasSet = null; mockCacheService.Setup(_ => _.SetCache(It.IsAny <Cache>())) .Callback <Cache>((cache) => cacheThatWasSet = cache); SetupHttpClientForExchangePost(); SetupHttpClientFactory(); SetupHttpRequestService(); httpRequestService = new HttpRequestService(mockHttpClientFactory.Object, mockCacheService.Object, trueLayerCredentialsOptions); // Act await httpRequestService.DoExchangeAsync(dummyCode); // Assert Assert.NotNull(cacheThatWasSet.ExchangeResponseDTO); Assert.Equal(cacheThatWasSet.ExchangeResponseDTO.AccessToken, dummyAccessToken); }
/// <summary> /// 加载公众号二维码 /// </summary> private void LoadMyQrCode() { myQrCode.Image = Resources.loading; new System.Threading.Thread(() => { string url = HotJavaApi.SubscribeForBind(MyUserInfo.LoginToken); if (!string.IsNullOrEmpty(url)) { var bytes = HttpRequestService.GetNetWorkImageData(url); if (bytes != null) { SetQrCodeImage(Image.FromStream(new MemoryStream(bytes)), false); } else { SetQrCodeImage(Resources.loading); } } }) { IsBackground = true }.Start(); }
void OnClick() { long curTime = (long)System.DateTime.Now.Subtract(baseDate).TotalSeconds; if (curTime - _lastClickTime < 10) { GameObject TipObj = GameObject.Find("MFP Gift Panel Portrait/Tip1"); UILabel tipLabel = TipObj.GetComponent <UILabel>(); tipLabel.text = Language.Get("INPUT_TOO_FAST"); return; } _lastClickTime = (long)System.DateTime.Now.Subtract(baseDate).TotalSeconds; // Can't send new request in 10 seconds GameObject labelObj = GameObject.Find("MFP Gift Panel Portrait/Input/Label"); UILabel labelCom = labelObj.GetComponent <UILabel>(); Dictionary <string, object> data = new Dictionary <string, object> (); data["cmd"] = "convert"; data["id"] = labelCom.text; HttpRequestService.sendRequest(data, new HttpRequestService.RequestSuccessDelegate(onAskGiftSuccess), new HttpRequestService.RequestFailDelegate(onAskGiftFail)); }
public async Task <GetTokenResultDto> GetToken(string adminName, string adminPwd) { string jwtStr = string.Empty; // 判断是否为空 if (string.IsNullOrEmpty(adminName) || string.IsNullOrEmpty(adminPwd)) { // 账号或密码不能为空 throw new Exception("Account or password cannot be empty."); } var result = await HttpRequestService.HttpGetAsync(AppConfigurtaionService.Configuration["ProjectInfo:ApiUrl"] + string.Format("/api/Admin/IsExistFromToken?adminName={0}&adminPwd={1}", adminName, adminPwd)); //StringBuilder resultStringBuilder = new StringBuilder(); // 去除转义字符 //foreach (char c in result.ToString()) //{ // if (c != '\\') resultStringBuilder.Append(c); //} // 返回字符串转换为JSON对象 var admin = JsonConvert.DeserializeObject <Model.Entity.Admin>(result); TokenJWT tokenModel = new TokenJWT(); tokenModel.Id = admin.Id; tokenModel.AdminName = admin.AdminName; jwtStr = JWTService.IssueJWT(tokenModel); return(new GetTokenResultDto() { JWT = "Bearer " + jwtStr, }); }
/// <summary> /// Login user, set and return login cookies /// </summary> /// <param name="credentials"></param> /// <returns> Login cookies </returns> public CookieContainer Authorize(Credential credentials) { string response = ""; try { HttpRequestService httpRequestService = new HttpRequestService(); response = httpRequestService.Send(url, cookieContainer, credentials, false).Substring(48, 30); } catch { new LogService().Add("Wrong URL~"); throw new Exception("Wrong URL~"); } if (response == "Bakalari - login to the system") { new LogService().Add("Wrong credentials!"); throw new Exception("Wrong credentials!"); } return(cookieContainer); }
public void New_WithNoArgs_AssignsHttpClient() { var newService = new HttpRequestService(); Assert.IsNotNull(newService.HttpClient); }
private void SetupHttpRequestService() { httpRequestService = new HttpRequestService(mockHttpClientFactory.Object, mockCacheService.Object, trueLayerCredentialsOptions); }
/// <summary> /// 获取高佣活动和营销计划的淘口令,Item1 淘口令,Item2 短链 /// </summary> /// <param name="goodsUrl"></param> /// <param name="goodsId"></param> /// <param name="pid">Pid</param> /// <returns></returns> public static Tuple <string, string> GetGaoYongToken(string goodsUrl, string goodsId, string pid, string tbToken, CookieCollection cookies, out bool isLogin) { Tuple <string, string> resultTuple = null; isLogin = true; try { //PID mm_aaaa_bbbb_cccc //aaaa:memberid //bbbb:siteid //ccc:adzoneid string dictKey = string.Format("{0}_{1}", pid, goodsId); //判断同商品相同的推广位,是否已经申请过淘口令 if (tokenDict.ContainsKey(dictKey)) { string _token = string.Empty; tokenDict.TryGetValue(dictKey, out resultTuple); return(resultTuple); } //淘宝未登录,请登录淘宝 if (cookies == null) { isLogin = false; resultTuple = new Tuple <string, string>("", ""); return(resultTuple); } var pids = pid.Replace("mm_", "").Split('_'); if (pids.Length != 3) { return(resultTuple); } string adzoneid = pids[2]; string siteid = pids[1]; string searchUrl = string.Format("http://pub.alimama.com/items/search.json?q={0}&_t={1}&auctionTag=&perPageSize=40&shopTag=&t={1}&_tb_token_={2}&pvid=", HttpUtility.UrlEncode(goodsUrl), getClientMsgId(), tbToken); CookieContainer cookiesContainer = new CookieContainer(); cookiesContainer.Add(cookies); string content = HttpRequestService.HttpGet(searchUrl, cookiesContainer); decimal tkRate = 0; decimal eventRate = 0; bool tkMktStatus = false; bool resultOk = false; if (!string.IsNullOrEmpty(content)) { try { TaobaoSearchResultModel searchResult = JsonConvert.DeserializeObject <TaobaoSearchResultModel>(content); if (searchResult != null && searchResult.ok && searchResult.data.pageList != null) { //通用计划 tkRate = searchResult.data.pageList[0].tkRate; if (!string.IsNullOrEmpty(searchResult.data.pageList[0].eventRate)) { eventRate = Convert.ToDecimal(searchResult.data.pageList[0].eventRate); } if (!string.IsNullOrEmpty(searchResult.data.pageList[0].tkMktStatus)) { tkMktStatus = Convert.ToInt32(searchResult.data.pageList[0].tkMktStatus) == 1; } resultOk = true; } } catch (Exception) { } } if (resultOk) { //判断是否是营销计划 if (tkMktStatus && tkRate > eventRate) { //开始申请营销计划佣金 string url = string.Format("http://pub.alimama.com/common/code/getAuctionCode.json?auctionid={0}&adzoneid={1}&siteid={2}&scenes=1&t={3}&_tb_token_={4}&pvid=", goodsId, adzoneid, siteid, getClientMsgId(), tbToken); resultTuple = GetGaoyong(url, cookies); if (resultTuple != null) { tokenDict[dictKey] = resultTuple; return(resultTuple); } } else //判断是否有高佣金 { //获取更多定向计划数据 string url = string.Format("http://pub.alimama.com/pubauc/getCommonCampaignByItemId.json?itemId={0}&t={1}&_tb_token_={2}&pvid=", goodsId, getClientMsgId(), tbToken); cookiesContainer = null; cookiesContainer = new CookieContainer(); cookiesContainer.Add(cookies); content = HttpRequestService.HttpGet(url, cookiesContainer); if (content.Contains("html")) { isLogin = false; resultTuple = new Tuple <string, string>("", ""); return(resultTuple); } else { try { TaobaoCommonCampaignItemsModel items = JsonConvert.DeserializeObject <TaobaoCommonCampaignItemsModel>(content); if (items != null && items.ok && items.data != null && items.data.Count > 0) { //过滤人工审核的佣金计划 var data = items.data.FindAll(r => r.manualAudit == 0); var listData = data.OrderByDescending(r => r.commissionRate).ToList(); TaobaoCommonItem item = listData[0]; //如果定向佣金大于通用和高佣活动的佣金 if (tkRate < item.commissionRate && eventRate < item.commissionRate && !tkMktStatus) { tkRate = 0; eventRate = 0; } } } catch (Exception) { } //如果高佣活动佣金大于通用佣金 if (eventRate > tkRate) { //开始申请高佣活动 url = string.Format("http://pub.alimama.com/common/code/getAuctionCode.json?auctionid={0}&adzoneid={1}&siteid={2}&scenes=3&channel=tk_qqhd&t={3}&_tb_token_={4}&pvid=", goodsId, adzoneid, siteid, getClientMsgId(), tbToken); resultTuple = GetGaoyong(url, cookies); if (resultTuple != null) { tokenDict[dictKey] = resultTuple; return(resultTuple); } } } } } } catch (Exception ex) { log.Error(string.Format("GetGaoYongToken:message:{0},StackTrace:{1}", ex.Message, ex.StackTrace)); return(resultTuple); } return(resultTuple); }
public JsonResult Httpreq(HttpRequestModel model) { return(Json(HttpRequestService.Process(model))); }
// Use this for initialization void Start() { //int x = PlayerPrefs.GetInt("TUTORIAL_TORCH_ITEM", 0); //PlayerPrefs.SetInt("TUTORIAL_TORCH_ITEM", 1); // OutputLevelScores //PlayerPrefs.SetInt("key_360", 1); // record that user has already get to map level QihooSnsModel.Instance.goToMapLevelOnce = true; if (QihooSnsModel.Instance.Using360Login) { //UserSNSManager.Instance.showFloatWnd(); } // [1] sync cached high scores HighScoreModel.Instance.Deserialize(); Dictionary <int, int> cachedHighScores = HighScoreModel.Instance._highScores; if (cachedHighScores != null && cachedHighScores.Count > 0) { Dictionary <string, object> data = new Dictionary <string, object> (); data["cmd"] = "saveData"; data["deviceId"] = SystemInfo.deviceUniqueIdentifier; data["platformId"] = QihooSnsModel.Instance.UserID; data["levelScore"] = HighScoreModel.Instance._highScores; HttpRequestService.sendRequest(data, new HttpRequestService.RequestSuccessDelegate(onGetNoticesSuccess), null); } // [2] sync user friend scores Dictionary <string, object> data1 = new Dictionary <string, object> (); data1["cmd"] = "getFriend"; data1["platformIds"] = QihooSnsModel.Instance.FriendListStr; //data1["platformIds"] ="599315361,29886669,384531921,630180399,291875798,291201194"; //data1["platformIds"] = "622792586,384531921,291201194,291257815,371301281"; //data1["platformIds"] = "612146777,291201194,404357426,317138868,291257815,401061065,622792586,599315361,371301281,29886669,626838463,271149288"; long curTime = LivesSystem.TimeSeconds(); if (data1["platformIds"] != "" && curTime - QihooSnsModel.Instance.LastGetFriendTime > 300) { // no secode get friend service in 5 minutes QihooSnsModel.Instance.LastGetFriendTime = LivesSystem.TimeSeconds(); HttpRequestService.sendRequest(data1, new HttpRequestService.RequestSuccessDelegate(onGetFriendScoreSuccess), new HttpRequestService.RequestFailDelegate(onGetFriendScoreFailure)); } else { UpdateFriendNameInMap(); } /* * if (QihooSnsModel.Instance.FriendListStr == "") * { * data1["platformIds"] = QihooSnsModel.Instance.FriendListStr + "1,2,3,4,5,6,7"; * } * else * { * data1["platformIds"] = QihooSnsModel.Instance.FriendListStr + ",1,2,3,4,5,6,7"; * } */ // [3] sync current level with 360 if (QihooSnsModel.Instance.Using360Login) { UserSNSManager.Instance.UploadData(QihooSnsModel.Instance.UserID, UserManagerCloud.Instance.CurrentUser.LastFinishedLvl.ToString()); } }
public ToDoItemsHTTPDataService() { _httpRequestService = new HttpRequestService(); }
public void TestGetResponse(string method, bool isAsync) { using (ShimsContext.Create()) { // Arrange var baseUriMapping = new BaseUriMapping { { "TargetSite", "http://yahoo.com" } }; var userAgentMapping = new UserAgentMapping { { "IE11", "Mozilla IE11" } }; var httpRequest = new HttpRequest { BaseUri = "TargetSite", UserAgent = "IE11", Method = method, Headers = new NameValueCollection { { "test", "test-value" } }, PathInfos = new List <string> { "test.aspx" }, Cookies = new NameValueCollection { { "test", "test-value" } }, }; var httpContent = new StringContent("Hello World"); httpContent.Headers.ContentType = new MediaTypeHeaderValue("text/html"); httpContent.Headers.LastModified = DateTimeOffset.Parse("Tue, 16 Jul 2013 11:50:35 GMT"); var httpResponseMessage = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = httpContent, RequestMessage = new HttpRequestMessage { RequestUri = new Uri("http://yahoo.com/test.aspx") } }; httpResponseMessage.Headers.Add("test", "test-value"); var cookies = new CookieContainer(); cookies.Add(new Cookie("test", "test-value", "", "yahoo.com")); ShimHttpClientHandler.AllInstances.CookieContainerGet = h => cookies; ShimHttpClient.AllInstances.GetAsyncUri = (client, task) => Task.FromResult(httpResponseMessage); ShimHttpClient.AllInstances.PostAsyncUriHttpContent = (client, task, c) => Task.FromResult(httpResponseMessage); ShimHttpClient.AllInstances.PutAsyncUriHttpContent = (client, task, c) => Task.FromResult(httpResponseMessage); ShimHttpClient.AllInstances.DeleteAsyncUri = (client, task) => Task.FromResult(httpResponseMessage); // Act var httpRequestService = new HttpRequestService(baseUriMapping, userAgentMapping, "http://proxy.com"); var httpResponse = isAsync ? httpRequestService.GetResponseAsync(httpRequest).Result : httpRequestService.GetResponse(httpRequest); // Assert Assert.AreEqual(1, httpResponse.Headers.Count); Assert.AreEqual(1, httpResponse.Cookies.Count); Assert.AreEqual(DateTimeOffset.Parse("Tue, 16 Jul 2013 11:50:35 GMT", CultureInfo.InvariantCulture), httpResponse.LastModified); Assert.AreEqual("Hello World", httpResponse.Contents); Assert.AreEqual(HttpStatusCode.OK, httpResponse.StatusCode); Assert.AreEqual(new Uri("http://yahoo.com/test.aspx"), httpResponse.Uri); } }
public async Task <IHttpActionResult> DelMsg() { string uid = HttpContext.Current.Request.Form["uid"]; string msgid = HttpContext.Current.Request.Form["msgid"]; string touid = HttpContext.Current.Request.Form["touid"]; string isgroup = HttpContext.Current.Request.Form["isgroup"]; if (string.IsNullOrEmpty(uid)) { return(Json(new { Success = false, Content = "", Error = "用户id为空", Message = "操作失败", Count = 0, Total = 0 })); } if (string.IsNullOrEmpty(msgid)) { return(Json(new { Success = false, Content = "", Error = "消息id为空", Message = "操作失败", Count = 0, Total = 0 })); } if (string.IsNullOrEmpty(touid)) { return(Json(new { Success = false, Content = "", Error = "接收人id为空", Message = "操作失败", Count = 0, Total = 0 })); } if (string.IsNullOrEmpty(isgroup)) { return(Json(new { Success = false, Content = "", Error = "isgroup为空", Message = "操作失败", Count = 0, Total = 0 })); } try { var msgidInt = Convert.ToInt32(msgid); var query = _unitOfWork.DIMMsg.Get(p => p.ID == msgidInt && p.CreateUser == uid && p.TouID == touid && p.IsDel != 1).FirstOrDefault(); if (query != null) { if (query.Type == "2") { //如果是图片消息,则执行软删除 query.IsDel = 1; //更新下载链接 query.FileUrl = ConfigHelper.GetConfigString("DownloadDfile"); _unitOfWork.DIMMsg.Update(query); } else { //如果是其他类型消息,则直接删除 _unitOfWork.DIMMsg.Delete(query); } var result = _unitOfWork.Save(); if (result.ResultType == OperationResultType.Success) { Task.Run(() => { //查询缓存中的消息 if (isgroup == "1") { var touids = new List <string>(); touids = touid.Length == 36 ? HttpRequestService.GetWorkGroupMembers(touid) : HttpRequestService.GetSelfGroupMembers(touid); foreach (var id in touids) { var msgUnread = MsgServices.GetRedisKeyValue <Msg>("IMGroupMsg", touid + id); if (msgUnread != null && msgUnread.Any()) { var newmsgUnread = msgUnread.Where(p => p.id0 != msgid).ToList(); RedisHelper.Hash_Remove("IMGroupMsg", touid + id); if (newmsgUnread.Any()) { MsgServices.ResetRedisKeyValue <Msg>("IMGroupMsg", touid + id, newmsgUnread); } else { RedisHelper.Hash_Remove("IMGroupMsg", touid + id); var groups = RedisHelper.Hash_Get <List <String> >("IMUnreadGroupMsg", id); if (groups != null && groups.Any() && groups.Contains(touid)) { groups.Remove(touid); //重新存储未读消息群组的Redis变量 RedisHelper.Hash_Remove("IMUnreadGroupMsg", id); RedisHelper.Hash_Set <List <String> >("IMUnreadGroupMsg", id, groups); } } } } } else if (isgroup == "0") { var msgUnread = MsgServices.GetRedisKeyValue <Msg>("IMMsg", touid); if (msgUnread != null && msgUnread.Any()) { var newmsgUnread = msgUnread.Where(p => p.id0 != msgid).ToList(); RedisHelper.Hash_Remove("IMMsg", touid); if (newmsgUnread.Any()) { MsgServices.ResetRedisKeyValue <Msg>("IMMsg", touid, newmsgUnread); } else { RedisHelper.Hash_Remove("IMMsg", touid); } } } }); return(Json(new { Success = true, Content = "", Error = "", Message = "操作成功", Count = 0, Total = 0 })); } return(Json(new { Success = false, Content = "", Error = result.Message, Message = "操作失败", Count = 0, Total = 0 })); } return(Json(new { Success = false, Content = "", Error = "未查询到对应的消息", Message = "操作失败", Count = 0, Total = 0 })); } catch (Exception ex) { return(Json(new { Success = false, Content = "", Error = ex.ToString(), Message = "操作失败", Count = 0, Total = 0 })); } }