首页 > 代码库 > 【发包工具】http多线程发包工具
【发包工具】http多线程发包工具
【发包工具】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();
}
}
【发包工具】http多线程发包工具