【发包工具】http多线程发包工具

时间:2021-04-18 12:08:55

【发包工具】http多线程发包工具

  使用方法:输入地址,发送的内容,线程数,等待时间,每个线程发送的次数,GET/POST请求。

  源代码

  package com.xmxkkk.httptest;

  import java.awt.*;

  import java.awt.event.*;

  import javax.swing.*;

  import javax.swing.border.TitledBorder;

  public class MainWindow extends JFrame {

  // HttpClient httpclient;

  private JPanel contentPane;

  private BorderLayout borderLayout1;

  private JPanel panURL;

  private JPanel jPanel1;

  private JPanel jPanel2;

  private GridLayout gridLayout1;

  private JTextField URLTxt;

  private JSplitPane jSplitPane1;

  private JScrollPane jScrollPane1;

  private JScrollPane jScrollPane2;

  private JTextArea jTextArea1;

  private JTextArea jTextArea2;

  private JScrollPane jScrollPane3;

  private JTextArea jTextArea3;

  private JButton jButton1;

  private JButton jButton2;

  private JPanel jPanel3;

  private JRadioButton jRadioGet;

  private JRadioButton jRadioPost;

  public String method;

  private JPanel jPanel4;

  private ButtonGroup buttonGroup1;

  private JButton jButton3;

  private JCheckBox jCheckWrap;

  private BorderLayout borderLayout2;

  private TitledBorder titledBorder1;

  private JTextField thread;

  private JTextField num;

  private JTextField time;

  public MainWindow() {

  // httpclient = null;

  thread=new JTextField(5);

  num=new JTextField(5);

  time=new JTextField(5);

  borderLayout1 = new BorderLayout();

  panURL = new JPanel();

  jPanel1 = new JPanel();

  jPanel2 = new JPanel();

  gridLayout1 = new GridLayout();

  URLTxt = new JTextField();

  jSplitPane1 = new JSplitPane();

  jScrollPane1 = new JScrollPane();

  jScrollPane2 = new JScrollPane();

  jTextArea1 = new JTextArea();

  jTextArea2 = new JTextArea();

  jScrollPane3 = new JScrollPane();

  jTextArea3 = new JTextArea();

  jButton1 = new JButton();

  jButton2 = new JButton();

  jPanel3 = new JPanel();

  jRadioGet = new JRadioButton();

  jRadioPost = new JRadioButton();

  method = "POST";

  jPanel4 = new JPanel();

  buttonGroup1 = new ButtonGroup();

  jButton3 = new JButton();

  jCheckWrap = new JCheckBox();

  borderLayout2 = new BorderLayout();

  enableEvents(64L);

  try {

  jbInit();

  } catch (Exception e) {

  e.printStackTrace();

  }

  }

  private void jbInit() throws Exception {

  // httpclient = new HttpClient(this,jTextArea1);

  contentPane = (JPanel) getContentPane();

  titledBorder1 = new TitledBorder("");

  contentPane.setLayout(borderLayout1);

  setSize(new Dimension(652, 460));

  setTitle("Http testing tool");

  jPanel1.setLayout(gridLayout1);

  gridLayout1.setColumns(1);

  URLTxt.setBackground(SystemColor.desktop);

  URLTxt.setForeground(Color.yellow);

  URLTxt.setBorder(BorderFactory.createEtchedBorder());

  URLTxt.setNextFocusableComponent(jButton1);

  // URLTxt.setToolTipText("Input the connection URL");

  URLTxt.setMargin(new Insets(5, 5, 5, 5));

  URLTxt.setText("http://");

  URLTxt.addActionListener(new ActionListener() {

  public void actionPerformed(ActionEvent e) {

  URLTxt_actionPerformed(e);

  }

  });

  jSplitPane1.setOrientation(0);

  jSplitPane1.setDividerSize(8);

  // jTextArea1.setToolTipText("Edit the request xml");

  jTextArea1.setText("");

  jTextArea2.setText("");

  jTextArea3.setForeground(Color.blue);

  // jTextArea3.setToolTipText("Recived message");

  jTextArea3.setText("");

  jTextArea3.setLineWrap(true);

  jTextArea3.setWrapStyleWord(true);

  jButton1.setText("Send");

  jButton1.addActionListener(new ActionListener() {

  public void actionPerformed(ActionEvent e) {

  jButton1_actionPerformed(e);

  }

  });

  jButton2.setText("Exit");

  jButton2.addActionListener(new ActionListener() {

  public void actionPerformed(ActionEvent e) {

  jButton2_actionPerformed(e);

  }

  });

  jRadioGet.setForeground(new Color(0, 0, 230));

  jRadioGet.setText("GET");

  jRadioGet.addActionListener(new ActionListener() {

  public void actionPerformed(ActionEvent e) {

  jRadioGet_actionPerformed(e);

  }

  });

  jRadioPost.setForeground(new Color(0, 0, 230));

  jRadioPost.setText("POST");

  jRadioPost.addActionListener(new ActionListener() {

  public void actionPerformed(ActionEvent e) {

  jRadioPost_actionPerformed(e);

  }

  });

  panURL.setLayout(borderLayout2);

  jButton3.setText("Clear");

  jButton3.addActionListener(new ActionListener() {

  public void actionPerformed(ActionEvent e) {

  jButton3_actionPerformed(e);

  }

  });

  jCheckWrap.setSelected(true);

  jCheckWrap.setText("LineWrap");

  jCheckWrap.addActionListener(new ActionListener() {

  public void actionPerformed(ActionEvent e) {

  jCheckWrap_actionPerformed(e);

  }

  });

  contentPane.add(jPanel1, "Center");

  contentPane.add(panURL, "North");

  contentPane.add(jPanel2, "South");

  panURL.add(URLTxt, "Center");

  jPanel2.add(new JLabel("线程"));

  jPanel2.add(thread,null);

  jPanel2.add(new JLabel("次数"));

  jPanel2.add(num,null);

  jPanel2.add(new JLabel("延时"));

  jPanel2.add(time,null);

  jPanel2.add(jCheckWrap, null);

  jPanel2.add(jPanel4, null);

  jPanel2.add(jPanel3, null);

  jPanel3.add(jRadioGet, null);

  jPanel3.add(jRadioPost, null);

  jRadioPost.setSelected(true);

  buttonGroup1.add(jRadioGet);

  buttonGroup1.add(jRadioPost);

  jPanel2.add(jButton1, null);

  jPanel2.add(jButton3, null);

  jPanel2.add(jButton2, null);

  jPanel1.add(jSplitPane1, null);

  jSplitPane1.add(jScrollPane1, "top");

  jSplitPane1.add(jScrollPane3, "bottom");

  jScrollPane3.getViewport().add(jTextArea3, null);

  jScrollPane1.getViewport().add(jTextArea1, null);

  jScrollPane2.getViewport().add(jTextArea2, null);

  jSplitPane1.setDividerLocation(100);

  }

  protected void processWindowEvent(WindowEvent e) {

  super.processWindowEvent(e);

  if (e.getID() == 201)

  System.exit(0);

  }

  void jButton1_actionPerformed(ActionEvent e) {

  // String soMethod = String.valueOf(String.valueOf((new StringBuffer("Method: ")).append(method).append(":\n")));

  String url = URLTxt.getText();

  String xml = jTextArea1.getText();

  String str=thread.getText();

  int cnt=1;

  if(str==null||str.equals("")){

  cnt=1;

  thread.setText(cnt+"");

  }else{

  cnt=Integer.parseInt(str);

  thread.setText(cnt+"");

  }

  String abc=num.getText();

  int every=1;

  if(abc==null||abc.equals("")){

  every=1;

  num.setText(every+"");

  }else{

  every=Integer.parseInt(abc);

  num.setText(every+"");

  }

  String div=time.getText();

  int divI=0;

  if(div==null||div.equals("")){

  divI=0;

  time.setText(divI+"");

  }else{

  divI=Integer.parseInt(div);

  time.setText(divI+"");

  }

  for(int i=0;i -1)

  sb.append((char) ch);

  rec_string = sb.toString();

  rd.close();

  urlconn.disconnect();

  } catch (Exception e) {

  log = String.valueOf(String.valueOf((new StringBuffer("请求错误:"))

  .append(e.getMessage()).append(e.toString())));

  writeLog(log);

  }

  return rec_string;

  }

  private String getMethod() {

  if (mwindow == null)

  return "GET";

  else

  return mwindow.method;

  }

  private void writeLog(String s) {

  if (mwindow == null)

  System.out.println(s);

  else

  mwindow.showMsg(String.valueOf(String.valueOf(s)).concat("\n"));

  }

  public static void main(String args[]) {

  }

  @Override

  public void run() {

  for(int i=0;i screenSize.height)

  frameSize.height = screenSize.height;

  if (frameSize.width > screenSize.width)

  frameSize.width = screenSize.width;

  frame.setLocation((screenSize.width - frameSize.width) / 2,

  (screenSize.height - frameSize.height) / 2);

  frame.setVisible(true);

  }

  public static void main(String args[]) {

  try {

  //

  UIManager.setLookAndFeel(UIManager

  .getCrossPlatformLookAndFeelClassName());

  UIManager

  .setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

  // SwingUtilities.updateComponentTreeUI(this);

  } catch (Exception e) {

  e.printStackTrace();

  }

  new HttpTest();

  }

  }