62,614
社区成员
发帖
与我相关
我的任务
分享
postBut.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0){
if(arg0.getSource()==postBut){
for(int i = 0;i<10;i++){
Thread accept = new Thread(){ //定义Accept线程
public void run(){
System.out.println(new Date());
// new ChangeIP();
}
};
accept.start();
try{
Thread.sleep(1000);//18秒一个机器 可以反应过来,否则ip还未生效。
}catch(InterruptedException e){
e.printStackTrace();
}
// try{
// URL url = new URL("http://192.168.0.5/vote/search.php");
// URLConnection conn = url.openConnection();
//
// conn.setDoOutput(true);
// conn.setDoInput(true);
// BufferedWriter br = new BufferedWriter(new OutputStreamWriter(conn.getOutputStream(),"utf-8"));
// br.write(URLEncoder.encode("name","utf-8"));
// br.write("=");
// br.write(URLEncoder.encode("张三","utf-8"));
// br.write("&");
// br.write(URLEncoder.encode("inst[0]","utf-8"));
// br.write("=");
// br.write(URLEncoder.encode("网络","utf-8"));
// br.write("&");
// br.write(URLEncoder.encode("inst[1]","utf-8"));
// br.write("=");
// br.write(URLEncoder.encode("打球","utf-8"));
// br.flush();
// br.close();
// conn.getInputStream();
//
//
// //接受服务器返回数据
// BufferedReader br1 = new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"));
// // 打印消息正文
// String line="";
// String result = "";
// while((line=br1.readLine())!=null) {
// result += line + "\n";
// }
// br1.close();
// writeLog(result);
// }catch(Exception e){
// e.printStackTrace();
// }
}
}
}
package vote;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class TestPost {
public static void main(String[] args) throws Exception{
new TestPost();
}
public TestPost()throws Exception{
JFrame frame = new JFrame("自动投票程序");
frame.setResizable(false);
frame.setSize(new Dimension(400, 360));
frame.setLayout(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocation(300, 200);
frame.setVisible(true);
final JButton ipBut = new JButton("添加ip数据库");
final JButton postBut = new JButton("开始投票");
final JTextArea resultText = new JTextArea("程序运行结果如下:\n");
final JScrollPane resultPane = new JScrollPane(resultText,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
JLabel info = new JLabel("使用方法:先添加ip段数据,再开始投票!");
frame.getContentPane().add(ipBut, null);
frame.getContentPane().add(postBut, null);
frame.getContentPane().add(resultPane, null);
frame.getContentPane().add(info, null);
ipBut.setBounds(10, 10, 120, 30);
postBut.setBounds(150, 10, 120, 30);
resultPane.setBounds(10, 40, 380, 260);
info.setBounds(10,300,350,30);
ipBut.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0){
if(arg0.getSource()==ipBut){
new AddIPDatabase();
}
}
});
postBut.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0){
if(arg0.getSource()==postBut){
for(int i = 0;i<4000;i++){
Thread accept = new Thread(){ //定义Accept线程
public void run(){
new ChangeIP();
}
};
accept.start();
try{
Thread.sleep(18000);//18秒一个机器 可以反应过来,否则ip还未生效。
}catch(InterruptedException e){
e.printStackTrace();
}
try{
URL url = new URL("http://192.168.0.5/vote/search.php");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
BufferedWriter br = new BufferedWriter(new OutputStreamWriter(conn.getOutputStream(),"utf-8"));
br.write(URLEncoder.encode("name","utf-8"));
br.write("=");
br.write(URLEncoder.encode("张三","utf-8"));
br.write("&");
br.write(URLEncoder.encode("inst[0]","utf-8"));
br.write("=");
br.write(URLEncoder.encode("网络","utf-8"));
br.write("&");
br.write(URLEncoder.encode("inst[1]","utf-8"));
br.write("=");
br.write(URLEncoder.encode("打球","utf-8"));
br.flush();
br.close();
conn.getInputStream();
//接受服务器返回数据
BufferedReader br1 = new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"));
// 打印消息正文
String line="";
String result = "";
while((line=br1.readLine())!=null) {
result += line + "\n";
}
br1.close();
writeLog(result);
}catch(Exception e){
e.printStackTrace();
}
}
}
}
public void writeLog(String logtext){
resultText.append(logtext);
resultText.setSelectionStart(resultText.getText().length());
resultText.paintImmediately(resultText.getBounds());
}
});
}
}
这是changip的程序,文本文件里面每一行就是调用netsh修改ip的,每次取一行去执行。
package vote;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.io.OutputStreamWriter;
import java.util.Random;
public class ChangeIP {
public static void main(String[] args) {
new ChangeIP();
}
public ChangeIP(){
String fileName = "resource/ipdatabase.txt";
File file = new File(fileName);
int fileLine = getRows(file)-1;
Random r = new Random();
int line = r.nextInt(fileLine)+1;
//System.out.println(line);
try {
delRow(file,line);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void delRow(File file,int rowToDel) throws Exception{
File temp = new File("resource/temp.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(
new FileInputStream(file)));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(temp)));
String str;
int rowIndex = 1;
while (null != (str = reader.readLine())){
if (rowIndex != rowToDel){
writer.write(str + "\r\n");
}else{
System.out.println(str);//此处执行更改ip操作
Runtime.getRuntime().exec(str);
}
rowIndex++;
}
reader.close();
writer.close();
file.delete();// 删除原文件
temp.renameTo(file);// 临时文件改名成原文件名称
}
public static int getRows(File file){
LineNumberReader lnr = null;
int num = 0;
try {
lnr = new LineNumberReader(new FileReader(file));
lnr.skip(Long.MAX_VALUE);
num = lnr.getLineNumber();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
lnr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return ++num;
}
}
postBut.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0){
if(arg0.getSource()==postBut){
for(int i = 0;i<4000;i++){
Thread accept = new Thread(){
public void run(){
new ChangeIP();
}
};
accept.start();
try{
//....模拟post代码
}catch(Exception e){
e.printStackTrace();
}
}
}
}
});
那个ChangeIP类就是在构造函数里面执行一些修改机器ip的代码,没有用frame界面。
p.s.比较愚笨,问题比较多,入不敷出啊,所以要省着用,下次改40分,呵呵