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

    2019-04

    代理IP与数据挖掘

    本文仅是我们“ 使用代理进行数据挖掘和爬取的最终指南 ”的一小部分。

  2. 28

    2019-06

    代理IP作为一种现代网络上的新兴的上网方式

    代理IP作为一种现代网络上的新兴的上网方式,已经成为了很多人的日常上网习惯。特别是对一些做网络业务的工作人员来说,这种代理方式更是不可缺少的,那么什么是IP代理呢?其实简单来

  3. 24

    2019-06

    解决爬虫代理IP不足的问题

    在爬虫工作过程中,经常会被目标网站禁止访问,但又找不到原因,这是令人非常恼火的事情。

  4. 19

    2019-07

    http代理服务器有并发限制吗?

    http代理服务器从成本上区分有免费版和付费版两种,免费IP获取方便,在网上可以搜到大量资源,缺点是免费http代理服务器存在不安全因素,用户的访问信息有可能会被记录,造成个人隐私泄

  5. 09

    2019-07

    HTTP代理IP投票安全吗?

    随着现在社会的境界快速发展,网络的发展也是日新月异,经济社会逐渐走向了信息社会,网络社会。网络渗透到人们的生活和工作的方方面面,代理IP也成为了人们生活、工作不可或缺的一部

  6. 16

    2019-05

    如何利用代理IP软件做seo

      对于大型的平台类的网站来说,传统的seo手段已经不再有效。新站要想在前期获得有效的排名的话,唯有通过非常规的手段即黑帽技术。恰当的黑帽技术,能够让我们的网站在短时间之内有