`
akunamotata
  • 浏览: 378662 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

中兴F420光猫定时重启换IP刷投票源码

    博客分类:
  • java
阅读更多

帮朋友刷网络投票,由于刷投票最大的问题在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刷投票”所涉及的知识点主要集中在网络设备管理、网络编程和自动化脚本上。这可能是关于如何利用特定的中兴F420光猫设备,通过编写脚本来实现定时重启,并在每次重启后更换设备的IP...

    上海中兴ZXHN F420光猫最新破解教程[适用于最新的3.3版]

    本文将详细介绍如何破解上海中兴ZXHN F420光猫的最新3.3版,主要涉及使用TTL连接恢复屏蔽的Telnet服务,并通过sendcmd命令修改设备配置。此教程适用于那些熟悉网络设备和有一定动手能力的用户,因为操作过程中存在...

    中兴F420 V2.0光猫固件

    中兴F420 V2.0光猫固件,H248,非常稀有的,赶快下载。

    中兴F420光猫设备手工配置方法2.pdf

    中兴F420光猫设备手工配置方法2.pdf

    中兴光猫F420 5.0固件

    中兴光猫F420 5.0固件,

    中兴F420 V5.0

    F420_V5.0.1P1T5_NAND128K_UPGRADE_BOOTLDR.bin

    中兴F420破解步骤

    ### 中兴F420破解步骤详解 #### 一、背景介绍 中兴F420是一款常用的宽带路由器,广泛应用于家庭及小型办公环境中。然而,出厂时该路由器存在一些限制,比如最多支持5台设备同时上网等。为了满足更多设备接入的需求...

    破解电信光猫中兴ZXHN F420

    破解F420及同系列光猫的telecomadmin密码以及破解4台电脑限制

    中兴F420联通通用版配置文件201408

    《中兴F420联通通用版配置文件详解及应用》 中兴F420是一款专为联通网络设计的光纤接入终端设备,其配置文件是确保设备正常运行和优化网络服务的关键。201408版本的配置文件特别针对天津电信的中兴F420设备进行了...

    中兴F420,F460,F660等光纤猫破解软件

    现在有的中兴光纤都支持破解,支持在线破解超级密码登陆密码:1314520

    中兴 F420 V3.3

    中兴 F420 V3.3 固件

    中兴光猫ONU配置注册清零工具

    中兴光猫ONU配置注册清零工具 一、应用背景 针对运营商定制PON ONU终端,比如定制E8-C,根据定制规范,所有终端都需要连 接ITMS网管平台,终端开通需要ITMS下发、激活业务配置后才能正常使用; 这期间ITMS下发失败...

    中兴F420 固件

    中兴ZXA10 F420 EPON EL3 老版光纤猫升级固件 H248协议

    中兴F420,F460,F660破解工具

    中兴F420,F460,F660破解工具,可以用在中兴系列的无线猫和光纤猫上,中兴H108L,中兴F420,F460,F660等都可以用的上。

    F420数据配置

    在中兴F420数据配置中,主要涉及的是VoIP(Voice over Internet Protocol)服务的设置,这是通过光线路终端(OLT)为用户端的F420设备分配和配置必要的语音通信参数。以下是对配置步骤的详细解析: 1. **语音模板...

    中兴(ZTE)光猫F420破解、桥接、加无线应用的方法详解

    主要介绍了中兴(ZTE)光猫F420破解、桥接、加无线应用的方法详解的相关资料,破解光猫之后,大家就不需要买路由器了,也很好用,需要的朋友可以参考下

    专题资料(2021-2022年)FTTH现场安装及故障诊断指导书中兴F420部分V1.doc

    1. **配置LOID数据**:在ONT安装并上电后,等待设备正常启动,然后通过一根网线连接电脑与F420的第一个LAN端口。设置电脑IP地址为192.168.1.2,并将子网掩码设为255.255.255.0,以便与ONT在同一子网内通信。 2. **...

    光猫路由器(中兴和华为)切换路由模式与桥接模式的方法(图文详解)

    光猫路由器是结合了光调制解调器(光猫)和路由器两种设备功能的网络设备,它能够直接将光纤网络转换为家中的有线或无线网络。在光猫路由器的使用过程中,用户有时需要切换路由模式和桥接模式,以适应不同的网络环境...

    中兴F620固件

    【中兴F620固件】是针对中兴通讯的一款特定型号——F620设备的系统软件更新,主要用于优化设备性能、修复已知问题和增加新功能。固件,全称为"Firmware",在通信设备中,它是嵌入在硬件中的控制程序,负责协调和管理...

Global site tag (gtag.js) - Google Analytics