程序更改代理ip(成佩涛黑客)

先说明下思路:

大家都知道浏览器internet设置中有个可以手动设置代理服务器的选项。

那么,怎么去利用这个选项来通过程序设置呢?

很简单,操作系统中几乎所有东西都与注册表有关,具体位置在:

HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings

大家可以自行查看下,再结合程序,您应该就秒懂了吧!


1、InternetUtil.java工具类 

/** 
 * TODO 使用Internet代理服务器工具类 

 */  
public class InternetUtil  
{  
      
    /** 获取系统配置句柄 */  
    private static final Properties prop = System.getProperties();  
      
    /** 注册表中Internet表项位置 */  
    private static final String Internet = "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings";  
  
      
    /** 初始化代理 from Internet Settings */  
    public static void initProxy(String ip)  
    {  
   
   
   
    /**
    * 相关知识
   
    ProxyEnable意思即是是否启用代理服务器,dword:00000001表示开启,dword:00000000表示失效
    ProxyServer是代理服务器的地址和端口
    ProxyOverride是指不使用代理服务器的IP段,或者域名段,可以用*代表任意长字符串
    */   
        try  
        {  
            // 注册表表项值  
            RegistryKey registryKey = Registry.openSubkey(Registry.HKEY_CURRENT_USER, Internet, RegistryKey.ACCESS_ALL);//RegistryKey.ACCESS_READ:该参数设置 操作注册表的权限
              
            // 注册表表项键  
            RegistryValue registryValue = registryKey.getValue("ProxyEnable"); 


            System.out.println(((RegDWordValue)registryValue).getData());
            boolean proxyEnable = ((RegDWordValue) registryValue).getData() != 0;   // 代理设置是否开启  
//          System.out.println("IE 是否启用了代理设置: " + proxyEnable);  
  
            if (proxyEnable == true)    // 开启了Internet代理  
            {  


                registryValue = registryKey.getValue("ProxyServer");  
                String proxyServer = new String(registryValue.getByteData());  
                //ProxyUtil.initProxy(proxyServer);  z
                System.out.println("使用IE代理服务器.");
                System.out.println(proxyServer);
                
               
                registryValue.setByteData(ip.getBytes());
                registryKey.setValue(registryValue);//重新设置代理
               
            }
            else
            System.out.println("没有开启");
        }  
        catch (Exception e)  
        {  
            System.out.println("ERROR:操作Windows注册表失败.");  
            e.printStackTrace();  
        }  
    }  
      
}


2、test.java测试类 

public class test {


public static void main(String arg[]) throws IOException, Exception{
InternetUtil.initProxy("211.162.39.98:80");//参数为代理服务器地址

Runtime.getRuntime().exec("C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE");//启动IE
        
Thread.sleep(500);

Runtime.getRuntime().exec("TASKKILL  /F /IM iexplore.exe /T");//关闭IE

/*visit();*/
}


以上程序需要ICE_JNIRegistry.dll文件和registry.jar包

需要的请留言。

评论 239
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值