gpt4 book ai didi

java - 使用 java 更改操作系统代理设置

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:59:19 24 4
gpt4 key购买 nike

我可以使用 java 应用程序在我的 Windows 7 中设置/更改代理设置吗?

我正在尝试使用:

public static void setProxy(String proxyUrl, String proxyPort){
System.getProperties().put("proxySet", "true");
System.getProperties().put("http.proxyHost", proxyUrl);
System.getProperties().put("http.proxyPort", proxyPort);
}

但运行后我的设置没有改变,我的 IP 与之前相同。

最佳答案

尽管大多数语言不允许(或)不鼓励通过程序更改环境变量,但您可以使用 setenv()ProcessBuilder( )

但是为什么要为程序中的每个人更改一些东西呢?而是更改程序上下文中的变量,例如设置代理服务器,以便它仅对您的程序运行时上下文有效。这就是应如何设计和编程应用程序。

这是一个简单的例子。

 public static void main(String[] args) throws Exception
{
ProcessBuilder processBuilder = new ProcessBuilder("CMD.exe", "/C", "SET");
processBuilder.redirectErrorStream(true);
Map<String,String> environment = processBuilder.environment();

//Set the new envrionment varialbes here
environment.put("proxySet", "true");
environment.put("http.proxyHost", proxyUrl);
environment.put("http.proxyPort", proxyPort);

Process process = processBuilder.start();
BufferedReader inputReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String dataLog=null;
while ((dataLog = inputReader.readLine()) != null)
{
//Just to see what's going on with process
System.out.println(dataLog);
}
}

注意:再次提醒,不要从您的程序中更改环境变量,而是只为您的上下文设置所需的变量。

关于java - 使用 java 更改操作系统代理设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30536694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com