代理服务器的理解(1):Windows环境下的代理服务器设置

2022-06-21 00:00:00 设置 理解 代理服务器

浏览器中的代理服务器设置

Windows系统接口提供的代理服务器设置是一个全局的代理服务器的设置,如图所示,这里就不多解释:

《代理服务器的理解(1):Windows环境下的代理服务器设置》

《代理服务器的理解(1):Windows环境下的代理服务器设置》

各个浏览器在使用代理设置的时候,可以主动地获取代理设置亦或是不使用该代理设置,例如Chrome浏览器如果要使用代理设置,只能在图中所示的位置进行更改,所以简单地(不使用辅助性工具)为Chrome设置代理,只能通过更改系统全局代理设置(当然此时不会影响不使用该代理设置的进程),如图:

《代理服务器的理解(1):Windows环境下的代理服务器设置》

而360浏览器可以有几种选择:

《代理服务器的理解(1):Windows环境下的代理服务器设置》

它可以使用自己程序配置的代理,使用IE的代理(应该就是系统的全局代理设置),或者不使用代理,这样它可以使用独立的代理配置(连使用系统全局代理设置的进程都不会受影响)。

JAVA进程中的代理服务器

Windows环境下,在java编程中,验证了自己的一个理解,代码如下:

package UserApp;

public class LocalProxyHostPrint { 

    public static void main(String[] args)
    {
        // TODO Auto-generated method stub
        while (true)
        {
            System.out.println(System.getProperties().getProperty(
                    "http.proxyHost"));
            try
            {
                Thread.sleep(1000);
            } catch (InterruptedException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}

该代码打印当前的代理服务器设置,结果发现,当设不设置系统的代理服务器,都不影响java的打印结果,如上代码运行结果都为null。

另外的一段java程序表明,在同一个进程下,只要这个进程用java代码设置了代理,那么进程下所有线程都使用了这个代理设置。代码如下:

线程代码:

    public void run()
    {
        while(true)
        {
            System.out.println(System.getProperties().getProperty("http.proxyHost"));

            try
            {
                Thread.sleep(1000);
            } catch (InterruptedException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

main函数的代码:

System.getProperties().setProperty("http.proxyHost", myextractor.__v_ip.get(it));

试验过的另一个程序表明,如果进程1设置了代理之后,进程2不设置代理,且用进程2打印代理设置,此时,结果为null,这说明代理设置这个上下文是依赖于进程的,而系统的代理设置也不是属于全局覆盖性、全局强制性的设置,它的存在相当于只是把一个参数放在系统某个位置,使用该设置与否,还得具体由进程通过代码来控制。

    原文作者:旧城落叶
    原文地址: https://blog.csdn.net/Just_Do_IT_Ye/article/details/47379587
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。

相关文章