IP代理软件,http代理,API提取-黑洞HTTP

黑洞HTTP

您的位置: 首页 > 新闻资讯 > HTTP代理 > 正文

java实现动态切换上网IP

发布时间:2019年04月10日 来源:http://http.hunbovps.com/News/getList/catid/8/id/281.html

动态切换IP的实现主是也由Windows的rasdial命令提供的,其实不是java的功劳,java只是调用一下bat脚本而已:


java实现动态切换上网IP

rasdial命令:


拨号


Java代码 :


1. 语法: rasdial  连接名称 username password   


2.实例rasdial 我的宽带 hzhz1234567890 dfdfdfdfdf  


断网


Java代码 


1. 语法:rasdial  连接名称 /disconnect     


2. 实例: rasdial 宽带  /disconnect    


java程序调用rasdial命令:(其中读取CMD返回消息时可能会乱码,注意红色字体那一句的编码设置)


Java代码


package com.sesame.network;


import java.io.BufferedReader;

import java.io.InputStreamReader;


public class ConnectNetWork {


    /**

     * 执行CMD命令,并返回String字符串

     */

    public static String executeCmd(String strCmd) throws Exception {

        Process p = Runtime.getRuntime().exec("cmd /c " + strCmd);

        StringBuilder sbCmd = new StringBuilder();

        BufferedReader br = new BufferedReader(new InputStreamReader(p

                .getInputStream(),"GB2312"));  //这里很重要,设置GB2312解决乱码!!!

                             //如果程序默认编码就是GB2312,可以不写

                             //我NetBeans默认用UTF8




       String line;

        while ((line = br.readLine()) != null) {

            sbCmd.append(line + "\n");

        }

        return sbCmd.toString();


    //如果整个过程换成这样,就更清楚了。getInputStream是获取最原始的字节流,

    //cmd返回的是以GB2312双字节编码的字节流

    InputStream in = p.getInputStream();

    byte[] b = new byte[1000];

    in.read(b);

    String msg = new String(b,"GB2312");  //用GB2312解释这堆字节,就可以组装成一个正常的String了

                         //如果上边不写GB2312,等于这里用UTF8组装,结果一样

    }


    /**

     * 连接ADSL

     */

    public static boolean connAdsl(String adslTitle, String adslName, String adslPass) throws Exception {

        System.out.println("正在建立连接.");

        String adslCmd = "rasdial " + adslTitle + " " + adslName + " "

                + adslPass;

        String tempCmd = executeCmd(adslCmd);

        // 判断是否连接成功

        if (tempCmd.indexOf("已连接") > 0) {

            System.out.println("已成功建立连接.");

            return true;

        } else {

            System.err.println(tempCmd);

            System.err.println("建立连接失败");

            return false;

        }

    }


    /**

     * 断开ADSL

     */

    public static boolean cutAdsl(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;

        }

    }

   

    public static void main(String[] args) throws Exception {

        connAdsl("宽带","hzhz**********","******");

        Thread.sleep(1000);

        cutAdsl("宽带");

        Thread.sleep(1000);

        //再连,分配一个新的IP

        connAdsl("宽带","hzhz**********","******");

    }

}


执行结果:


Java代码

1. 正在建立连接.   

2. 已成功建立连接.   

3. 连接已断开   

4. 正在建立连接.   

5. 已成功建立连接.  


 小结:

实现这个功能的最主要在于bat命令能支持这个功能,和以前写过的自动设置ip功能类似,这些功能实现java其实是很不方便的,看来要优雅的实现和windows操作系统相关的行为,学习windows编程才行。


相关文章内容简介

1 java实现动态切换上网IP

动态切换IP的实现主是也由Windows的rasdial命令提供的,其实不是java的功劳,java只是调用一下bat脚本而已:rasdial命令:拨号Java代码 :1. 语法: rasdial  连接名称 username password   2.实例rasdial 我的宽带 hzhz1234567890 dfdfdfdfdf  断网Java代码 1. 语法:rasdial  连接名称 /disconnect     2. 实例: rasdial 宽带  /disconnect    java程序调用rasdial命令:(其中读取CMD返回消息时可能会乱码,注意红色字体那一句的编码设置)Java代码package com.sesame.netwo [阅读全文]

热门标签

最新标签

推荐阅读

  1. 07

    2019-11

    黑洞http代理有什么优势?

    代理ip的作用不在普通工作岗位上提现,是在网络工作者上提现。因为我们在采集别人网站上的数据时需要不断的更换 IP地址 ,这样才能安全自由的放心采集数据。很多人喜欢用免费的ip代理,

  2. 04

    2019-06

    php可以使用代理ip吗?

    经常使用网络的人都知道代理IP,也有很多人提问PHP怎么使用代理IP呢?今天这里就为大家介绍一下PHP是什么,以及怎么使用代理IP。

  3. 16

    2019-10

    HTTP代理服务器是网络中介吗?

    HTTP代理服务器是一中间程序,由它连接用户主机和远程服务器。具体的连接过程是这样的:首先用户主机需要远程服务器数据,用户主机通过HTTP代理服务器与远程服务器建立连接,HTTP代理服务

  4. 22

    2019-03

    代理IP意味着什么呢?

    我们生活在安逸的环境中 - 这是事实,我们不能否认它。由于我们是孩子,他们教会我们尊重自己的利益并依靠自己的能力。这很好,但只是在某种程度上。

  5. 11

    2019-05

    IP代理软件简介

    所为IP代理软件,就是像生活中的代理商一样,你需要的数据用它在别的机器上下载你所需要的数据,信息等等,然后保存在这个软件中,再用这个软件传输到你所需要的工作机器中,这就是I

  6. 18

    2019-06

    ip代理就可以隐藏我们真实ip地址

    我们在网上时,,真实的IP随时会被泄露,如果被别有用心的人利用的话,可能会对我们的生活造成一些影响。这时候如果使用了一些更换ip地址的软件,如黑洞http代理ip,就可以隐藏我们真是