java无代理直接连接到Internet
不使用代理就可以直接连接到Internet吗
考虑一个组织有代理的例子,我使用java代理类中给出的直接选项。
SocketAddress addr = new
InetSocketAddress("webcache.mydomain.com", 8080);
Proxy proxy = new Proxy(Proxy.Type.DIRECT, addr);
如果你按照它所说的文档去做 DIRECT,表示直接连接或没有代理强>
这正是它的行为方式。当我使用此选项时,我不必提供任何代理详细信息,我可以从Internet访问内容
我有三个问题
- 根据我的理解,如果一个组织有代理,所有网络 流量应通过代理路由。不应该有人能做到 直接访问网络李>
- 我还注意到,如果我从IE中删除代理详细信息,我不能 访问Web:-(Java怎么还能做到这一点
- 如果在任何组织中,您都可以使用代理和 直接来说,防火墙如何阻止某些站点?这部电影怎么样 防火墙还能用吗李>
提前谢谢
# 1 楼答案
如果您的组织有代理,则并非所有网络流量都通过代理。您仍然可以继续并建立到Internet的直接连接。大多数情况下,组织会阻止直接连接,并迫使您使用代理。有时,它们可能允许您拥有受限的直接连接,这允许某些URL,而拒绝其他URL
# 2 楼答案
2)您可能已在任何系统属性中设置了代理。如果您正在使用任何IDE,请检查IDE的代理设置
# 3 楼答案
不是创建直接(无代理)代理指令的正确方法。你应该这样做
Socket类和HttpURLConnection的内部实现检查
proxy == Proxy.NO_PROXY
(注意:“==”,而不是“equals()”!)它不检查
proxy.getType() == Proxy.Type.DIRECT