代理server的理解(1):Windows环境下的代理server设置

时间:2024-04-17 10:01:57

浏览器中的代理server设置

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

Internet属性

这里写图片描写叙述

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

这里写图片描写叙述

而360浏览器能够有几种选择:

这里写图片描写叙述

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

JAVA进程中的代理server

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();
            }
        }
    }
}

该代码打印当前的代理server设置。结果发现。当设不设置系统的代理server,都不影响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。这说明代理设置这个上下文是依赖于进程的。而系统的代理设置也不是属于全局覆盖性、全局强制性的设置。它的存在相当于仅仅是把一个參数放在系统某个位置。使用该设置与否。还得详细由进程通过代码来控制。