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. 05

    2019-04

    代理IP有助于软文推广吗?

    软文推广的质量直接决定品牌的宣传和产品的转化,所以说做软文推广是需要技巧的,接下来就来为大家分析软文推广需要注意什么。

  2. 14

    2019-11

    为什么会有代理ip?

    互联网时代,对于ip地址的限制慢慢的加强起来,特别是现在很多公司都在网上开展业务,但由于网络的一些限制,代理IP这个工具就走入了人们的生活,使用代理IP可以解决各种IP限制为问题。

  3. 05

    2019-05

    代理ip速度慢怎么办?

    很多用黑洞动态转发的IP代理资源会发现,某些对速度要求比较高的业务会发现,动态转发的有点很多,但是有一个明显的缺点,就是速度相对会慢一些,毕竟多了一层转发,那么这种情况就没

  4. 29

    2019-05

    短效优质代理IP好用吗?

    黑洞HTTP一向诚信为商,在这里如实说明本站的短效优质代理是用ADSL拨号VPS搭建的,IP地址并不具备一手性,但是一直以来某些同行在用这类IP充当“私密代理IP”来欺骗客户高价牟取暴利。

  5. 29

    2019-05

    怎样适合自己项目的代理IP?

    代理IP质量有好有坏,免费拨号IP,一般IP质量和稳定性不佳,用来抓取信息的成功率也较低。

  6. 13

    2019-05

    ip代理软件下载的站点

    特性丰富,使用起来没有难度,极其方便,操作简单快捷,全程只要您动动鼠标点击几下按钮,即可秒换IP。多年的老品牌,并且经过内部反复的测试和检验,通过各大杀毒软件的认证,让您使