private void exhausitiverThread(Object obj) { Dictionary <String, String> currentParam = dicHandle.nextParam(); while (currentParam != null && currentParam.Count > 0 && running && dicHandle.totalNums >= currentPersion) { try { Int32 length = commConfig.General.Body.Length; string postBody = commConfig.General.Body; string currentParamJson = JsonHandle.toJson(currentParam); foreach (string paraName in currentParam.Keys) { postBody = postBody.Replace("${" + paraName + "}", currentParam[paraName]); } ExhausitiverEntity threadExhausitiverEntity = ExhausitiverEntity.parseExhausitiver(commConfig.General.Protocol, commConfig.General.Encode, commConfig.General.TimeOut, postBody); ExhaustiverResult result = ExhausitiverHandle.doExhausitiver(threadExhausitiverEntity, commConfig.Verification); result.Param = currentParam; if (result.Success == true) { if (SuccessStopCheckBox.Checked) { running = false; } ExhaustiverResultTextBox.AppendText(currentParamJson + "\r\n"); } ListViewItem lvi = new ListViewItem(); lvi.Text = "0"; lvi.SubItems.Add(currentParamJson); lvi.SubItems.Add(Convert.ToString(result.Code)); lvi.SubItems.Add(Convert.ToString(result.Length)); lvi.SubItems.Add(result.Success ? "成功" : "失败"); lvi.SubItems.Add(threadExhausitiverEntity.Body + "\n\n" + result.Result); if (result.Success) { lvi.ForeColor = Color.Green; } paramPersion = lvi; lviQueues.Enqueue(lvi); if (result.Success) { if (SuccessStopCheckBox.Checked) { break; } } } catch { } finally { speed++; currentPersion++; currentParam = dicHandle.nextParam(); } Thread.Sleep(1); } }
private void button2_Click(object sender, EventArgs e) { try { ExhausitiverConfig config = parseConfig(); String json = JsonHandle.toJson(config); json = JsonHandle.JsonTree(json); String fileName = System.Diagnostics.Process.GetCurrentProcess().ProcessName + ".conf"; FileStream fs = new FileStream(fileName, FileMode.Create); byte[] data = System.Text.Encoding.Default.GetBytes(json); fs.Write(data, 0, data.Length); fs.Flush(); fs.Close(); MessageBox.Show("保存成功(" + fileName + ")"); } catch { } }
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 void modifyExpInfo(ExpModule exp, Int32 index) { try { String configJson = JsonHandle.toJson(exp); if (index == -1) { ListViewItem lvi = new ListViewItem(); lvi.SubItems[0].Text = Convert.ToString(ExpListView.Items.Count + 1); lvi.SubItems.Add(exp.Name); lvi.SubItems.Add(exp.Language); lvi.SubItems.Add(configJson); lvi.SubItems.Add(verificationTypes[exp.Verification.Type] + ":" + exp.Verification.Context); lvi.SubItems.Add(exp.Status == 0 ? "禁用" : "启用"); for (int i = 0; i < ExpListView.Items.Count; i++) { if (ExpListView.Items[i].SubItems[1].Text.Equals(exp.Name)) { ExpListView.Items[i] = lvi; ExpListView.Update(); return; } } ExpListView.Items.Add(lvi); return; } ExpListView.Items[index].SubItems[0].Text = Convert.ToString(ExpListView.Items.Count + 1); ExpListView.Items[index].SubItems[1].Text = exp.Name; ExpListView.Items[index].SubItems[2].Text = exp.Language; ExpListView.Items[index].SubItems[3].Text = configJson; ExpListView.Items[index].SubItems[4].Text = (verificationTypes[exp.Verification.Type] + ":" + exp.Verification.Context); ExpListView.Items[index].SubItems[5].Text = (exp.Status == 0 ? "禁用" : "启用"); return; } catch { } finally { resetListViewIndex(ExpListView); saveConfig(); } }
private void saveConfig() { try { List <KeywordCodeTrigger> keys = new List <KeywordCodeTrigger>(); for (int i = 0; i < ConfigListView.Items.Count; i++) { KeywordCodeTrigger key = new KeywordCodeTrigger(); key.keyword = ConfigListView.Items[i].SubItems[1].Text; key.code = ConfigListView.Items[i].SubItems[2].Text; key.nextPageCode = ConfigListView.Items[i].SubItems[3].Text; keys.Add(key); } String json = JsonHandle.toJson(keys); 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(); } catch { } }
private void saveConfig() { CoodyConfig config = new CoodyConfig(); config.ThreadNum = ThreadNumComboBox.Text; config.TimeOut = TimeOutComboBox.Text; List <String[]> headerListviews = new List <string[]>(); for (int i = 0; i < HeaderListview.Items.Count; i++) { String[] lines = new String[2]; lines[0] = HeaderListview.Items[i].SubItems[0].Text; lines[1] = HeaderListview.Items[i].SubItems[1].Text; headerListviews.Add(lines); } config.HeaderListviews = headerListviews; List <String[]> expListViews = new List <string[]>(); for (int i = 0; i < ExpListView.Items.Count; i++) { String[] lines = new String[6]; lines[0] = ExpListView.Items[i].SubItems[0].Text; lines[1] = ExpListView.Items[i].SubItems[1].Text; lines[2] = ExpListView.Items[i].SubItems[2].Text; lines[3] = ExpListView.Items[i].SubItems[3].Text; lines[4] = ExpListView.Items[i].SubItems[4].Text; lines[5] = ExpListView.Items[i].SubItems[5].Text; expListViews.Add(lines); } config.ExpListViews = expListViews; 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(); }