java修改IE(chrome同)代理服务器配置---通过直接修改注册表

本文介绍如何通过Java程序修改IE(与Chrome相同)的代理服务器配置,方法包括生成注册表文件并调用reg.exe命令,以及直接使用registry API。涉及到的注册表键包括ProxyEnable、ProxyServer和ProxyOverride,分别对应代理启用、服务器地址和代理跳过设置。
摘要由CSDN通过智能技术生成
[b]原创文章,转载请注明出处:http://passerbyy.iteye.com/blog/1285664 作者:passer_by[/b]

因为本文的操作,都是关于修改注册表的,所以希望能够谨慎操作。

方法有两种:
[b](一)通过自动生成注册表文件,再调用reg.exe命令[/b]
在说明本文之前,首先说明有比较简单的方法,java程序自动生成注册表文件*.reg,格式为:
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"ProxyEnable"=dword:00000001
"ProxyServer"="localhost:8080"
"ProxyOverride"="<localhost>"

然后调用,Runtime.getRuntime().exec( "reg.exe import " + filename);

[b](二)通过调用registry的api修改[/b]
既然目前已经有现成的修改注册表的包jni的registry包,那我们就不费这个事做上面的操作了,registry jar包下载地址 http://www.trustice.com/java/jnireg/index.shtml ,另外发现openorg上也有类似的,但是类名改掉了,感兴趣的同学可以去搜搜。

IE代理服务器对应于注册表中字段:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings下面的值:ProxyServer,ProxyEnable,ProxyOverride
ProxyEnable用来表示是否使用代理,用0,1表示,类型为REG_DWORD,不能为REG_SZ
ProxyServer用来表示代理服务器ip:port,如localhost:8080,类型为REG_SZ
ProxyOverride表示跳过代理的配置,比如跳过本地代理,该值为<local>

修改注册表类Register,以前也有类似的,但是没有区分REG_DWORD和REG_SZ两种类型


import com.ice.jni.registry.NoSuchKeyException;
import com.ice.jni.registry.RegDWordValue;
import com.ice.jni.registry.RegStringValue;
import com.ice.jni.registry.Registry;
import com.ice.jni.registry.RegistryException;
import com.ice.jni.registry.RegistryKey;

public class Register {

// 把ICE_JNIRegistry.dll在的路径加载到java.library.path中,这里是放在classpath下面了
static {
System.setProperty("java.library.path",
Register.class.getResource("/").getPath());
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值