当前位置:  开发笔记 > 编程语言 > 正文

java中的袜子(通过袜子打开)

如何解决《java中的袜子(通过袜子打开)》经验,为你挑选了1个好方法。

如何为我的应用程序添加SOCKS支持?我在哪里可以获得libs?



1> Romain Hippe..:

来自http://java.sun.com/javase/6/docs/technotes/guides/net/proxies.html

RFC 1928中定义的SOCKS协议为客户端服务器应用程序提供了一个框架,以便在TCP和UDP级别安全地遍历防火墙.从这个意义上说,它比更高级别的代理(如HTTP或FTP特定代理)更通用.J2SE 5.0为客户端TCP套接字提供SOCKS支持.

有两个与SOCKS相关的系统属性:

socksProxyHost对于
socksProxyPort端口号的SOCKS代理服务器的主机名,默认值为1080

请注意,此时前缀后面没有点('.').这是出于历史原因并确保向后兼容性.以这种方式指定SOCKS代理后,将通过代理尝试所有TCP连接.

例:

$ java -DsocksProxyHost=socks.mydomain.com GetURL

这里,在执行代码期间,每个传出的TCP套接字都将通过socks.mydomain.com:1080处的SOCKS代理服务器.

现在,当定义SOCKS代理和HTTP代理时会发生什么?规则是,更高级别协议(如HTTP或FTP)的设置优先于SOCKS设置.因此,在该特定情况下,在建立HTTP连接时,将忽略SOCKS代理设置并且将联系HTTP代理.我们来看一个例子:

$ java -Dhttp.proxyHost=webcache.mydomain.com -Dhttp.proxyPort=8080 -DsocksProxyHost=socks.mydomain.com GetURL

这里,http URL将通过webcache.mydomain.com:8080,因为http设置优先.但是ftp URL怎么样?由于没有为FTP分配特定的代理设置,并且由于FTP位于TCP之上,因此将通过socks.mydomsain.com:1080处的SOCKS代理服务器尝试FTP连接.如果已指定FTP代理,则将使用该代理.

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有