(转)JAVA实现Windows拨号、IP切换
原理:
通过调用windows下的dos命令实现拨号
PS:连接名称获取不一定都是适用,但苦于知道的dos命令太少了,只能将就这么用着。
如有更好的方法,烦请不吝赐教。
public class ConnectNetWork {
public static void main(String[] args) throws Exception {
String adslTitle = getConnectName();
String adslName = "************";
String adslPsw = "*******";
connAdsl(adslTitle, adslName, adslPsw);
Thread.sleep(1000);
disconectAdsl(adslTitle);
Thread.sleep(1000);
connAdsl(adslTitle, adslName, adslPsw); // 再连,分配一个新的IP
}
private static String executeCmd(String str) throws Exception {
Process p = Runtime.getRuntime().exec("cmd /c " + str);
StringBuilder sb = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader(
p.getInputStream(), "gbk"));
String line=null;
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
p.destroy();
return sb.toString();
}
private static boolean connAdsl(String adslTitle, String adslName,
String adslPsw) throws Exception {
String adslCmd = "rasdial " + adslTitle + " " + adslName + " "
+ adslPsw;
String tempCmd = executeCmd(adslCmd);
// 判断连接是否成功
if (tempCmd.indexOf("已连接") > 0 || tempCmd.indexOf("已经连接") > 0) {
System.out.println("已成功建立连接.");
return true;
} else {
System.err.println(tempCmd);
return false;
}
}
private static boolean disconectAdsl(String adslTitle) throws Exception {
String cutAdsl = "rasdial " + adslTitle + " /disconnect";
String result = executeCmd(cutAdsl);
if (result.indexOf("没有连接") != -1) {
System.err.println(adslTitle + "连接不存在!");
return false;
} else {
System.out.println("连接已断开");
return true;
}
}
private static String getConnectName() throws Exception {
String reponse = executeCmd("ipconfig /all");
String temp ="描述. . . . . . . . . . . . . . . :";
int begin = reponse.indexOf(temp)+temp.length();
int last = begin+5;
return reponse.substring(begin,last);//返回名称
}
}
(转)JAVA实现Windows拨号、IP切换的更多相关文章
- java获取本机IP地址
转载自:http://blog.csdn.net/thunder09/article/details/5360251 在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一 ...
- windows JDK 版本切换
windows JDK 版本切换1. HKEY_LOCAL_MACHINE“SOFTWARE“JavaSoft“Java Runtime Environment“CurrentVersion, 把这个 ...
- Java读写Windows共享文件夹 .
版权声明:本文为博主原创文章,未经博主允许不得转载. 项目常常需要有访问共享文件夹的需求,例如共享文件夹存储照片.文件等.那么如何使用Java读写Windows共享文件夹呢? Java可以使用JCIF ...
- Web Performance Test : IP切换/IP欺骗
译者前言 本文翻译自<Visual Studio Performance Testing Quick Reference Guide 3.6> 有关于IP Switching的章节.< ...
- 使用Java修改Windows注册表
使用Java修改Windows注册表,使用最基本的就是cmd命令. 事例和运行结果如下所示: package day01; import java.io.IOException; /* 1,reg a ...
- Java 修改Windows注册表,以实现开机自启动应用程序。
使用Java修改Windows注册表,使用最基本的就是cmd命令. 事例和运行结果如下所示: package day01; import java.io.IOException; /* 1,reg a ...
- Selenium2学习-001-Selenium2 WebUI自动化Java开发 Windows 环境配置
此文主要介绍 Selenium2 WebUI自动化Java开发 Windows 环境配置,供各位亲们参考,若有不足之处,敬请各位大神指正,非常感谢! 所需软件列表如下所示: 所属分类 具体名称 备注 ...
- 彻底理解Cisco/Linux/Windows的IP路由
-1.只要理解实质,名称并不重要! 很多使用Linux的网络高手在面对Cisco管理员的诸如管理距离,路由度量等词汇时,还没有PK就自觉败下阵来了.我觉得这实在太可惜了,大家本是一家,为何这么为难对方 ...
- Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】
http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附 ...
随机推荐
- 2015弱校联盟(1) - I. Travel
I. Travel Time Limit: 3000ms Memory Limit: 65536KB The country frog lives in has n towns which are c ...
- python(八)内置模块logging/os/time/sys/json/pickle
模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护.为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少 ...
- netstat命令详解
它主要的用法和详解! (netstat -na 命令),本文主要是说Linux下的netstat工具,然后详细说明一下各种网络连接状态. netstat -nat |awk ‘{print $}’|s ...
- Mysql常用数据类型
Mysql常用数据类型 数字: 字符串: 时间:
- Android 对电话进行监听和挂断
1.添加权限 <!--拨打电话的权限--><uses-permission android:name="android.permission.PROCESS_OUTGOIN ...
- 手把手教iOS生成.a包及常见的问题
我的例子是打包MJRefresh 环境OS10.11.4, XCode Version 7.3.1 (7D1014) 生成.a如下: 创建新工程: 把下载的 MJRefresh-master加到你的 ...
- 各种浏览器(IE,Firefox,Chrome,Opera)COOKIE修改方法[转]
各种浏览器(IE,Firefox,Chrome,Opera)COOKIE修改方法[转] 网站通过 Cookie 保存了我们访问网站的信息,在不同的浏览器中修改 Cookie 可以如下操作: Firef ...
- SQL Server索引调优系列
http://www.cnblogs.com/chenmh/category/586612.html http://www.cnblogs.com/zhijianliutang/category/63 ...
- 火狐浏览器Firefox上DownThemAll插件
DownThemAll插件支持断点续传.多线程下载,可以大幅度提高下载速度. 在Windows平台上,要下载大量的文件,迅雷自然是首选:但在非Windows平台上,只要安装一个火狐浏览器,再安装Dow ...
- java 注释
单行注释// 多行注释/* */ 注释并写入javadoc /** */ // 这是单行注释的示例 /* 这个也是单行注释的示例 */ /* 这是第一个Java程序 *它将打印Hello Worl ...