【问题标题】:java.net.SocketException: Malformed reply from SOCKS server, With apache FTPClientjava.net.SocketException:来自 SOCKS 服务器的格式错误的回复,使用 apache FTPClient
【发布时间】:2013-01-18 21:41:05
【问题描述】:

我正在尝试在 java web start 应用程序中使用 Apache FTPCleint 连接到 FTP 服务器。 下面是我正在使用的代码。

ftpInstance = new FTPClient();

ftpInstance.setRemoteVerificationEnabled(false);

ftpInstance.connect(<HostName>);
int rpyCode = ftpInstance.getReplyCode();

if(!FTPReply.isPositiveCompletion(rpyCode)){
    throw new Exception("Connection Rejected with reply code " + rpyCode + ". - " + <Hostname>);
}

问题出在ftpInstance.connect(&lt;HostName&gt;) 行。抛出异常请查看堆栈跟踪

java.lang.RuntimeException: java.net.SocketException: Malformed reply from SOCKS server
at com.newgen.backend.Operation.call(Operation.java:91)
at filetransfermanager.FileTransferManagerView$1.windowOpened(FileTransferManagerView.java:48)
at java.awt.AWTEventMulticaster.windowOpened(Unknown Source)
at java.awt.Window.processWindowEvent(Unknown Source)
at javax.swing.JFrame.processWindowEvent(Unknown Source)
at java.awt.Window.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Caused by: java.net.SocketException: Malformed reply from SOCKS server
at java.net.SocksSocketImpl.readSocksReply(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:171)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:192)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:285)
at com.newgen.ftp.FTPInstance.getInstance(FTPInstance.java:38)
at com.newgen.backend.Transport.<init>(Transport.java:58)
at com.newgen.backend.Operation.call(Operation.java:81)
... 27 more

以上代码在正常项目中运行良好,但在 java web start 中却不行。

感谢任何帮助。 谢谢。

【问题讨论】:

    标签: java apache sockets ftp


    【解决方案1】:

    您配置了指向非 SOCKS 代理的 SOCKS 代理设置。

    【讨论】:

    • 我尝试从 IE 和 java 插件网络设置中删除所有代理设置,但没有成功。同样的事情在浏览器中作为小程序工作,但问题仅在 java web 启动的情况下存在。
    • @Kyle 这正是整个答案已经提供的。
    猜你喜欢
    • 2013-12-06
    • 1970-01-01
    • 2020-09-05
    • 1970-01-01
    • 2014-09-06
    • 2018-01-07
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多