private ExhausitiverConfig parseConfig() { ExhausitiverConfig config = new ExhausitiverConfig(); ExhausitiverEntity general = new ExhausitiverEntity(); general.Protocol = ConfigProtocolComboBox.Text; general.Host = ConfigHostTextBox.Text.Trim(); general.Method = ConfigMethodComboBox.Text; general.Port = Convert.ToInt32(ConfigPortTextBox.Text); general.TimeOut = Convert.ToInt32(ConfigTimeOutCombox.Text.Replace("秒", "")) * 1000; general.Encode = ConfigEncodeComboBox.Text; general.Data = Encoding.GetEncoding(ConfigEncodeComboBox.Text.Equals("自动") ? "UTF-8" : ConfigEncodeComboBox.Text).GetBytes(ConfigBodyTextBox.Text); general.Body = ConfigBodyTextBox.Text; general.ThreadNum = Convert.ToInt32(ConfigThreadNumComboBox.Text); config.General = general; ExhaustiverVerification verification = new ExhaustiverVerification(); verification.CalcType = ConfigCalcComboBox.SelectedIndex; verification.VerificationType = ConfigVerificationTypeComboBox.SelectedIndex; verification.Value = ConfigVerificationValueTextBox.Text; verification.SuccessThenStop = (SuccessStopCheckBox.Checked)?true:false; config.Verification = verification; List <ExhausitiverDic> dics = new List <ExhausitiverDic>(); for (int i = 0; i < DicsListview.Items.Count; i++) { ExhausitiverDic dic = new ExhausitiverDic(); dic.ParamName = DicsListview.Items[i].SubItems[0].Text; dic.Path = DicsListview.Items[i].SubItems[1].Text; dics.Add(dic); } config.Dics = dics; String json = JsonHandle.toJson(config); FileStream fs = new FileStream(System.Diagnostics.Process.GetCurrentProcess().ProcessName + ".conf", FileMode.Create); byte[] data = System.Text.Encoding.Default.GetBytes(json); fs.Write(data, 0, data.Length); fs.Flush(); fs.Close(); return(config); }
public static ExhaustiverResult doExhausitiver(ExhausitiverEntity general, ExhaustiverVerification verification) { try { HttpExhaustiver.handle.HttpHandle.HttpResult httpResult; if (general.Protocol.ToLower().Equals("http")) { httpResult = httpHandles[verification.VerificationType].httpSendData(general.Host, general.Port, general.TimeOut, general.Encode, general.Data); } else { httpResult = httpHandles[verification.VerificationType].httpsSendData(general.Host, general.Port, general.TimeOut, general.Encode, general.Data); } ExhaustiverResult result = new ExhaustiverResult(); result.Code = httpResult.Code; result.Result = httpResult.Header + "\r\n" + httpResult.Body; result.Length = result.Result.Length; result.UnionId = Guid.NewGuid().ToString("N"); if (verification.VerificationType == 0) { if (httpResult.Code == -1) { return(result); } if (httpResult.Code == Convert.ToInt32(verification.Value.Trim())) { result.Success = true; return(result); } return(result); } String verificationBody = httpResult.Header; if (verification.VerificationType == 2) { if (String.IsNullOrEmpty(httpResult.Body)) { return(result); } verificationBody = httpResult.Body; } else if (verification.VerificationType == 3) { if (String.IsNullOrEmpty(httpResult.Body)) { return(result); } verificationBody = httpResult.Header + "\n" + httpResult.Body; } if (verification.CalcType == 0) { if (verificationBody.Equals(verification.Value)) { result.Success = true; return(result); } return(result); } if (verification.CalcType == 1) { if (!verificationBody.Equals(verification.Value)) { result.Success = true; return(result); } return(result); } if (verification.CalcType == 2) { if (verificationBody.Contains(verification.Value)) { result.Success = true; return(result); } return(result); } if (verification.CalcType == 3) { if (!verificationBody.Contains(verification.Value)) { result.Success = true; return(result); } return(result); } if (verification.CalcType == 4) { List <String> matchResult = matchExport(verificationBody, new Regex(verification.Value)); if (matchResult != null && matchResult.Count > 0) { result.Success = true; return(result); } return(result); } if (verification.CalcType == 5) { List <String> matchResult = matchExport(verificationBody, new Regex(verification.Value)); if (matchResult != null && matchResult.Count > 0) { result.Success = true; return(result); } return(result); } return(result); } catch { return(new ExhaustiverResult()); } }