1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
| public class WinFormResourceRequestHandler : ResourceRequestHandler { public event Action<string> msg; public event Action<string, object> msg2;
protected override IResponseFilter GetResourceResponseFilter(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IResponse response) { var filter = FilterManager.CreateFilter(request.Identifier.ToString()); return filter; } protected override void OnResourceLoadComplete(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IResponse response, UrlRequestStatus status, long receivedContentLength) { try { var filter = FilterManager.GetFileter(request.Identifier.ToString()) as TestJsonFilter; var ResponseData = Encoding.UTF8.GetString(filter.DataAll.ToArray()); string url = request.Url; #region 青港 if (url.Contains("http://cdcs.qgil.net/prod-api/captchaImage")) { var ResponseJson = JsonConvert.DeserializeObject<captchaImageRoot>(ResponseData); var ImageUrl = Base64ToImage("data:image/png;base64," + ResponseJson.images, "UploadFile\\CDQG\\", "cdcs_qgil_net"); var ImageCodeJson = CJY_RecognizeFile(ImageUrl, "15275228345", MD5String("feilian777"), "96001", "6001", "0", "0", ""); var ImageCodeData = JsonConvert.DeserializeObject<ImageCodeRoot>(ImageCodeJson); if (ImageCodeData.err_no == 0) { frame.ExecuteJavaScriptAsync(@"document.querySelectorAll('.el-input__inner').forEach(function(item, index){if(index==0){item.value='18663935558'}else if(index==1){item.value='Qd2025data'}else{item.value='" + ImageCodeData.pic_str + "'}})"); frame.ExecuteJavaScriptAsync(@"document.querySelectorAll('.el-input__inner').forEach(function(item, index){item.dispatchEvent(new Event('input'))})"); frame.ExecuteJavaScriptAsync(@"document.querySelectorAll('button')[0].click()"); } } if (url.Contains("http://cdcs.qgil.net/prod-api/login")) { var resData = JsonConvert.DeserializeObject<loginRoot>(ResponseData); if (resData.code == 200) { Fly_ManifestUser entity = db.Queryable<Fly_ManifestUser>().Where(p => p.Type == "QG青港").ToList().FirstOrDefault(); entity.Cookie = resData.token; entity.CookieDate = DateTime.Now; db.Updateable(entity).ExecuteCommand(); addLog("青港cookie更新成功------" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); } } #endregion
#region 外运 if (url.Contains("https://e-sinotrans.sinotrans.com/services2/usercenter/userCenter/sendIdentifyCode")) { using (var postData = request.PostData) { if (postData != null) { var elements = postData.Elements; var charSet = request.GetCharSet(); string body = string.Empty; foreach (var element in elements) { if (element.Type == PostDataElementType.Bytes) { body = element.GetBody(charSet); msg?.Invoke(body); } } var RequestData = JsonConvert.DeserializeObject<IdentifyCodeRoot>(body); frame.ExecuteJavaScriptAsync(@"document.querySelectorAll('.el-input__inner').forEach(function(item, index){if(index==0){item.value='QDYJZX'}else if(index==1){item.value='Qd123456#'}else{item.value='" + RequestData.identifyCode + "'}})"); frame.ExecuteJavaScriptAsync(@"document.querySelectorAll('.el-input__inner').forEach(function(item, index){item.dispatchEvent(new Event('input'))})"); frame.ExecuteJavaScriptAsync(@"document.querySelectorAll('button')[0].click()"); } } } if (url.Contains("https://e-sinotrans.sinotrans.com/services2/usercenter/EsFunction/getFunctionUrls")) { var cookies = request.GetHeaderByName("Cookie"); Fly_ManifestUser entity = db.Queryable<Fly_ManifestUser>().Where(p => p.Type == "WY外运").ToList().FirstOrDefault(); entity.Cookie = cookies; entity.CookieDate = DateTime.Now; db.Updateable(entity).ExecuteCommand(); addLog("外运cookie更新成功------" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); } #endregion } catch (Exception) { }
}
}
|