java - Java 中的代理设置

标签 java properties proxy network-programming

用 Google 搜索并找到了一些关于 Java 代理设置的链接,但有些事情让我有点困惑

1) 我们真的需要设置 proxySet 属性吗?

System.getProperties().put( "proxySet", "true" );
System.getProperties().put( "proxyHost", "proxy host" );
System.getProperties().put( "proxyPort", "8080" );

2) 设置http.proxyHost 和proxyHost 有什么区别?基本上,这是否意味着“proxyHost”将应用于所有协议(protocol),包括 http、https、ftp 等,而 http.proxyHost 仅适用于 http 协议(protocol)?

System.getProperties().put( "proxyHost", "proxy host" );

System.getProperties().put( "http.proxyHost", "proxy host" );

3)我们总是需要事后做吗?

System.getProperties().put( "proxySet", "false" );
System.getProperties().put( "proxyHost", "" );
System.getProperties().put( "proxyPort", "" );

4) 在Java中做代理设置的详细官方文档在哪里?

最佳答案

  1. 没有。没有 proxySet 这样的属性。它是 1997 年废弃已久的 HotJava bean 的一个特性,并从那里泄漏到各种第 3 方书籍中。 JDK中从来没有过这样的属性,从1.1.2开始我都看过了。为了证明,设置其他两个并将 proxySet 设置为 false,看看会发生什么。注意这个问题确实在文档中得到了回答,因为那里没有出现 proxySet

  2. (a) 无,除了您不应使用 proxyHost/Port 因为它们已过时。 (b) 文档中没有这样说。

  3. proxySet见(1)。将其他设置为 null 而不是 ""更重要,但我认为它没有任何效果:一旦加载了属性,它们就会保留下来。如果您需要动态控制代理,则需要使用 java.net.Proxy。

  4. 这已在@tostao 的评论中得到解答。

关于java - Java 中的代理设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14243590/

相关文章:

java - 创建 SAX 解析器时出错

java - 哈希集添加方法无法正常工作

javascript - JSON 未定义属性 - 简化验证以避免类型错误

java - 在 Spring 中为静态常量注入(inject)值

没有 SSL 证书的 Apache https 代理

proxy - 如何使用 lighttpd 从 https 代理到 http

java - 如果目录中没有发生事件,WatchService 是否有任何用于超时的 api 构建

java - 转换对象时 event.getItem() 和comboBox.getSelectedItem() 之间有什么区别

ios - 等同于 Realm 中的 attributesByName 核心数据方法/获取 RLMObject 的属性/属性

mysql - maxscale 找不到 gtid_binlog_pos