我正在使用jsch连接到sftp服务器并下载文件.
我的文件大小是4.4MB.
收到的错误信息太长.
可以下载的文件大小的最大限制是多少?
是否有任何配置可以更改最大大小限制?
继承人我是如何联系的
session = jsch.getSession(“##”,“##”,22);
session.setPassword( “##”);
session.setConfig(“StrictHostKeyChecking”,“no”);
session.connect();
sftpChannel =(ChannelSftp)session.openChannel(“sftp”);
sftpChannel.connect();
sftpChannel.cd( “##”);
sftpChannel.lcd( “##”);
并且错误消息是
从SFTP服务器获取服务器响应时出错.
at com.scheduler.DataDiaryDataPullJob.main(DataDiaryDataPullJob.java:60)[classes /:na]
引起:com.jcraft.jsch.JSchException:4:收到的消息太长:1416128878
在com.jcraft.jsch.ChannelSftp.start(ChannelSftp.java:315)〜[jsch-0.1.50.jar:na]
在com.jcraft.jsch.Channel.connect(Channel.java:152)〜[jsch-0.1.50.jar:na]
在com.jcraft.jsch.Channel.connect(Channel.java:145)〜[jsch-0.1.50.jar:na]
at com.scheduler.DataDiaryDataPullJob.downloadSurveyFiles(DataDiaryDataPullJob.java:152)[classes /:na]
…省略了2个常用帧
引起:com.jcraft.jsch.SftpException:收到的消息太长:1416128878
在com.jcraft.jsch.ChannelSftp.start(ChannelSftp.java:265)〜[jsch-0.1.50.jar:na]
…省略了5个常见帧
谢谢,
苏尼尔
最佳答案 我刚刚遇到这个问题,发现我的shell启动脚本破坏了我的sftp会话.
从http://www.snailbook.com/faq/sftp-corruption.auto.html起
“为了使其工作,SSH会话必须是”干净的“ – 也就是说,它必须只包含程序在任何一端传输的信息.然而,经常发生的是,系统中都有语句服务器上的每个用户shell启动文件(.bashrc,.profile,/ etc / csh.cshrc,.login等),它们在登录时输出文本消息,供人类阅读(如fortune,echo“嗨”这些代码只应在交互式登录时产生输出,当标准输入附有tty时.如果没有进行此测试,它会将这些文本消息插入不属于的地方:在这种情况下,污染scp2 / sftp和sftp-server之间的协议流.文本的前四个字节被解释为一个32位的数据包长度,通常是一个非常大的数字,引发上面的错误信息.“
一种可能的解决方案是编辑启动脚本.