public void insertResponse(Object data) { if (this.chatForm.sessionStatus == SessionStatus.expire) { return; } RawDataFactory rawDataFactory = (RawDataFactory)data; //add timestamp,token DateTime timeStamp = new DateTime(1970, 1, 1); //得到1970年的时间戳 long a = (DateTime.UtcNow.Ticks - timeStamp.Ticks) / 10000000; //注意这里有时区问题,用now就要减掉8个小时 rawDataFactory.Timestamp = a.ToString(); String userSid = this.chatForm.user.userSid; String token = rawDataFactory.Timestamp + this.chatForm.conStr + rawDataFactory.Uid + userSid; rawDataFactory.Token = LoginForm.GetMd5(32, token); IRawDataFactory rawDataFactoryMapper = new RawDataFactoryMapper(); Result result = rawDataFactoryMapper.insertData(rawDataFactory); if (result.Code != 200 && this.chatForm.sessionStatus != SessionStatus.expire) { this.chatForm.callback_showExpireBox(result.Message); } }
public Task <RawData> ExtractAsync(string source, IFilter filter) { return(GetResponseAsync(_restClient, source, filter) .ContinueWith((getResponseAsync) => { var rawContent = getResponseAsync.Result.GetContent(); return RawDataFactory.CreateRawData(GetUrl(source), filter, rawContent); })); }
public Result insertData(RawDataFactory rawDataFactory) { Result result = new Result(); HttpClient http = new HttpClient(new HttpClientHandler()); http.DefaultRequestHeaders.ExpectContinue = false; try { String url = Uri.server_address + "index.php?m=Home&c=Rawdata&a=insertData"; String jsondata = JsonHelper.SerializeObject(rawDataFactory); var content = new StringContent(jsondata, Encoding.UTF8, "application/json"); //await异步等待回应 var response = http.PostAsync(url, content).Result; //确保HTTP成功状态值 response.EnsureSuccessStatusCode(); //await异步读取最后的JSON String resdata = response.Content.ReadAsStringAsync().Result; JObject o = JObject.Parse(resdata); int code = (int)o.SelectToken("code"); String msg = (String)o.SelectToken("message"); result.Code = code; result.Message = msg; } catch (Exception e) { log.Error(e.Message, e); result.Code = 500; result.Message = "网络异常或请求超时"; } finally { http.Dispose(); } return(result); }
void IRequestHandler.GetResponseContent(string content) { //Console.WriteLine(content); RawDataFactory rawDataFactory = new RawDataFactory(); rawDataFactory.Content = content; rawDataFactory.HttpType = 1; rawDataFactory.Sid = sessionId; rawDataFactory.WxUin = wxUin; rawDataFactory.Uid = this.chatForm.user.Id; new Thread(new ParameterizedThreadStart(insertResponse)).Start(rawDataFactory); }
void IRequestHandler.OnResourceResponse(IWebBrowser browser, string url, int status, string statusText, string mimeType, WebHeaderCollection headers) { if (url.Contains("cgi-bin/mmwebwx-bin/webwxsendmsg")) { if (status == 200) { RawDataFactory rawDataFactory = new RawDataFactory(); rawDataFactory.Content = requestBody; //rawDataFactory.Finished = 0; rawDataFactory.HttpType = 2; rawDataFactory.Sid = sessionId; rawDataFactory.WxUin = wxUin; rawDataFactory.Uid = this.chatForm.user.Id; new Thread(new ParameterizedThreadStart(insertResponse)).Start(rawDataFactory); } } }