HTTP 代理配置

如果您位於代理後面,需要為 HTTP 出站介面卡或閘道器配置代理設定,可以使用以下兩種方法之一。在大多數情況下,您可以依賴控制代理設定的標準 Java 系統屬性。否則,您可以顯式地為 HTTP 客戶端請求工廠例項配置一個 Spring bean。

標準 Java 代理配置

您可以設定三個系統屬性來配置 HTTP 協議處理器使用的代理設定

  • http.proxyHost:代理伺服器的主機名。

  • http.proxyPort:埠號(預設為 80)。

  • http.nonProxyHosts:應直接訪問而不透過代理的主機列表。這是一個由 | 分隔的模式列表。模式可以使用 * 作為萬用字元在開頭或結尾。與這些模式之一匹配的任何主機都將透過直接連線而不是代理進行訪問。

對於 HTTPS,以下屬性可用

  • https.proxyHost:代理伺服器的主機名。

  • https.proxyPort:埠號,預設值為 80。

Spring 的 SimpleClientHttpRequestFactory

如果您需要更顯式地控制代理配置,可以使用 Spring 的 SimpleClientHttpRequestFactory 並配置其 'proxy' 屬性,如下例所示

<bean id="requestFactory"
    class="org.springframework.http.client.SimpleClientHttpRequestFactory">
    <property name="proxy">
        <bean id="proxy" class="java.net.Proxy">
            <constructor-arg>
                <util:constant static-field="java.net.Proxy.Type.HTTP"/>
            </constructor-arg>
            <constructor-arg>
                <bean class="java.net.InetSocketAddress">
                    <constructor-arg value="123.0.0.1"/>
                    <constructor-arg value="8080"/>
                </bean>
            </constructor-arg>
        </bean>
    </property>
</bean>