帮朋友刷网络投票,由于刷投票最大的问题在ip上,家里用的是光猫,所以针对自己家里的这款光猫写了定时刷票功能,写完后拿出来共享。
package vote;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.ArrayList;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.Header;
public class SendPostMethod {
public String methodPost(String url,NameValuePair[] data){
String response= "";//要返回的response信息
HttpClient httpClient = new HttpClient();
List<Header> headers = new ArrayList<Header>();
headers.add(new Header("User-Agent", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon;)"));
//qq投票判断referer,不然投票无效
headers.add(new Header("referer", "http://xxx.qq.com/zt2011/matchofgym/index.htm"));
httpClient.getHostConfiguration().getParams().setParameter(
"http.default-headers", headers);
PostMethod postMethod = new PostMethod(url);
// 将表单的值放入postMethod中
postMethod.setRequestBody(data);
// 执行postMethod
int statusCode = 0;
try {
statusCode = httpClient.executeMethod(postMethod);
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// HttpClient对于要求接受后继服务的请求,象POST和PUT等不能自动处理转发
// 301或者302
if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY
|| statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
// 从头中取出转向的地址
Header locationHeader = postMethod.getResponseHeader("location");
String location = null;
if (locationHeader != null) {
location = locationHeader.getValue();
System.out.println("The page was redirected to:" + location);
response= methodPost(location,data);//用跳转后的页面重新请求。
} else {
System.err.println("Location field value is null.");
}
} else {
System.out.println(postMethod.getStatusLine());
try {
response= postMethod.getResponseBodyAsString();
} catch (IOException e) {
e.printStackTrace();
}
postMethod.releaseConnection();
}
return response;
}
public void sendVote(){
String url = "http://input.vote.qq.com/survey.php";
NameValuePair pjtId = new NameValuePair("PjtID", "1234567");
NameValuePair result = new NameValuePair("result", "0");
NameValuePair sbj =new NameValuePair("sbj_1234567[]", "123456");
NameValuePair[] data = {pjtId, result, sbj};
String response = methodPost(url,data);
System.out.println("sendVote********"+response);
}
public void loginInRouter() throws IOException{
String url = "http://192.168.1.1";
NameValuePair username = new NameValuePair("Username", "useradmin");
NameValuePair password = new NameValuePair("Password", "prdih");
//获得光猫的token,验证正确才能登录
NameValuePair token = new NameValuePair("Frm_Logintoken", Router.findLoginToken(url));
NameValuePair[] data = {username, password, token};
String response = methodPost(url, data);
System.out.println("loginInRouter********"+response);
}
public void resetRouter() throws IOException{
String url = "http://192.168.1.1/manager_dev_conf_t.gch";
NameValuePair action = new NameValuePair("IF_ACTION", "devrestart");
NameValuePair flag = new NameValuePair("flag", "1");
NameValuePair[] data = {action, flag};
String response = methodPost(url, data);
System.out.println("resetRouter********"+response);
}
public static void main(String[] args) throws IOException,UnsupportedEncodingException {
SendPostMethod sm = new SendPostMethod();
//sm.sendVote();
sm.loginInRouter();
sm.resetRouter();
}
}
这是模拟表单提交代码,是刷ip和投票功能的核心部分。
package vote;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.IOException;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
import org.apache.commons.lang3.StringUtils;
public class Router {
private static final String regex = "\"\\d+\";";
public static String findLoginToken(String url) throws IOException{
Document doc = Jsoup.connect(url).get();
String content = doc.outerHtml();
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(content);
String result = "";
if(m.find()){
result = m.group();
result = StringUtils.remove(result, "\"");
result = StringUtils.remove(result, ";");
}
return result;
}
public static void main(String[] args) throws IOException{
String routerAddress = "http://192.168.1.1";
String content = Router.findLoginToken(routerAddress);
System.out.println("token id: " + content + " .");
}
}
中兴F420的机器登录时需要token验证,所以一定要获得token才能通过登录。
以上代码有部分是直接拿网上的源码修改而成的,投票和定时重启光猫是自己写的,由于重启光猫和分配ip时间比较长,所以一般每3分钟才能投一次票,傍晚下班的时候可能需要4分钟一次,需要做出一定调整。包括定时器的源码都放在附件里供大家下载。
分享到:
相关推荐
标题“中兴F420光猫定时重启换IP刷投票”所涉及的知识点主要集中在网络设备管理、网络编程和自动化脚本上。这可能是关于如何利用特定的中兴F420光猫设备,通过编写脚本来实现定时重启,并在每次重启后更换设备的IP...
本文将详细介绍如何破解上海中兴ZXHN F420光猫的最新3.3版,主要涉及使用TTL连接恢复屏蔽的Telnet服务,并通过sendcmd命令修改设备配置。此教程适用于那些熟悉网络设备和有一定动手能力的用户,因为操作过程中存在...
中兴F420 V2.0光猫固件,H248,非常稀有的,赶快下载。
中兴F420光猫设备手工配置方法2.pdf
中兴光猫F420 5.0固件,
F420_V5.0.1P1T5_NAND128K_UPGRADE_BOOTLDR.bin
### 中兴F420破解步骤详解 #### 一、背景介绍 中兴F420是一款常用的宽带路由器,广泛应用于家庭及小型办公环境中。然而,出厂时该路由器存在一些限制,比如最多支持5台设备同时上网等。为了满足更多设备接入的需求...
破解F420及同系列光猫的telecomadmin密码以及破解4台电脑限制
《中兴F420联通通用版配置文件详解及应用》 中兴F420是一款专为联通网络设计的光纤接入终端设备,其配置文件是确保设备正常运行和优化网络服务的关键。201408版本的配置文件特别针对天津电信的中兴F420设备进行了...
现在有的中兴光纤都支持破解,支持在线破解超级密码登陆密码:1314520
中兴 F420 V3.3 固件
中兴光猫ONU配置注册清零工具 一、应用背景 针对运营商定制PON ONU终端,比如定制E8-C,根据定制规范,所有终端都需要连 接ITMS网管平台,终端开通需要ITMS下发、激活业务配置后才能正常使用; 这期间ITMS下发失败...
中兴ZXA10 F420 EPON EL3 老版光纤猫升级固件 H248协议
中兴F420,F460,F660破解工具,可以用在中兴系列的无线猫和光纤猫上,中兴H108L,中兴F420,F460,F660等都可以用的上。
在中兴F420数据配置中,主要涉及的是VoIP(Voice over Internet Protocol)服务的设置,这是通过光线路终端(OLT)为用户端的F420设备分配和配置必要的语音通信参数。以下是对配置步骤的详细解析: 1. **语音模板...
主要介绍了中兴(ZTE)光猫F420破解、桥接、加无线应用的方法详解的相关资料,破解光猫之后,大家就不需要买路由器了,也很好用,需要的朋友可以参考下
1. **配置LOID数据**:在ONT安装并上电后,等待设备正常启动,然后通过一根网线连接电脑与F420的第一个LAN端口。设置电脑IP地址为192.168.1.2,并将子网掩码设为255.255.255.0,以便与ONT在同一子网内通信。 2. **...
光猫路由器是结合了光调制解调器(光猫)和路由器两种设备功能的网络设备,它能够直接将光纤网络转换为家中的有线或无线网络。在光猫路由器的使用过程中,用户有时需要切换路由模式和桥接模式,以适应不同的网络环境...
【中兴F620固件】是针对中兴通讯的一款特定型号——F620设备的系统软件更新,主要用于优化设备性能、修复已知问题和增加新功能。固件,全称为"Firmware",在通信设备中,它是嵌入在硬件中的控制程序,负责协调和管理...