05
2017
10

Java操作路由器进行拨号,以达到换IP的目的


我的路由器是tp-link  网关是192.168.10.1  路由器的WAN口连接光猫的LAN口,先上代码,其实就是访问连接与断开的URL地址以达到换IP的目的,

唯一的是连接时要给一个Cookie, 内容是base64的(帐号:密码)http访问包是okhttp的。

/**
	 * 连接网络
	 */
	public static void NetConnect() {
		String auth = "帐号:密码";
		String basestring = Base64Utils.encodeToString(auth.getBytes());
		OkHttpClient httpClient = new OkHttpClient.Builder()
				.connectTimeout(10000, TimeUnit.MILLISECONDS)
				.readTimeout(10000, TimeUnit.MILLISECONDS)
				.build();
		Request request = new Request.Builder()
				.url("http://192.168.10.1/userRpm/StatusRpm.htm?Connect=%C1%AC%20%BD%D3&wan=1")
				.addHeader("Referer", "http://192.168.10.1")
				.addHeader("Cookie", "Authorization=Basic "+basestring+";")
				.build();
		Call call = httpClient.newCall(request);
		try {
			Response resp = call.execute();
			if (resp.isSuccessful()) {
				ResponseBody body = resp.body();
				//可以在这 进行判断是否成功,我测试时是成功的
				body.close();
			}
			resp.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
/**
	 * 断开网络
	 */
	public static void NetDisconnect() {
		String auth = "帐号:密码";
		String basestring = Base64Utils.encodeToString(auth.getBytes());
		OkHttpClient httpClient = new OkHttpClient.Builder()
				.connectTimeout(10000, TimeUnit.MILLISECONDS)
				.readTimeout(10000, TimeUnit.MILLISECONDS)
				.build();
		Request request = new Request.Builder()
				.url("http://192.168.10.1/userRpm/StatusRpm.htm?Disconnect=%B6%CF%20%CF%DF&wan=1")
				.addHeader("Referer", "http://192.168.10.1")
				.addHeader("Cookie", "Authorization=Basic "+basestring+";")
				.build();
		Call call = httpClient.newCall(request);
		try {
			Response resp = call.execute();
			if (resp.isSuccessful()) {
				//可以在这 进行判断是否成功,我测试时是成功的
				ResponseBody body = resp.body();
				body.close();
			}
			resp.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}


上一篇:Linux电源管理(四)CPUFreq 下一篇:mysql实现随机获取几条数据的方法各种效率对比