SORU
18 AĞUSTOS 2008, PAZARTESİ


Java: Ne bir sunucudan dosya SFTP için en iyi yoldur

Bir sunucu SFTP FTP katılımı aksine) Java kullanarak dosya almak için en iyi yolu nedir? En iyi özel tanımı bırakıyorum ama aklımda ücretsiz vardır :)

CEVAP
19 AĞUSTOS 2008, Salı


Başka bir seçenek JSch library bakarak düşünün. JSch diğerleri arasında birkaç büyük açık kaynak projeleri, Eclipse, Ant ve Apache Commons HttpClient dahil olmak üzere, tercih edilen bir kütüphane gibi görünüyor.

Hem kullanıcı/pass destekler ve tabanlı sertifika giriş güzel, tüm diğer lezzetli SSH2 özellikleri bir bütün ana kadar iyi.

Burada basit bir uzak dosya SFTP almak. Hata işleme okuyucu için bir egzersiz olarak kalır :-)

JSch jsch = new JSch();

String knownHostsFilename = "/home/username/.ssh/known_hosts";
jsch.setKnownHosts( knownHostsFilename );

Session session = jsch.getSession( "remote-username", "remote-host" );    
{
  // "interactive" version
  // can selectively update specified known_hosts file 
  // need to implement UserInfo interface
  // MyUserInfo is a swing implementation provided in 
  //  examples/Sftp.java in the JSch dist
  UserInfo ui = new MyUserInfo();
  session.setUserInfo(ui);

  // OR non-interactive version. Relies in host key being in known-hosts file
  session.setPassword( "remote-password" );
}

session.connect();

Channel channel = session.openChannel( "sftp" );
channel.connect();

ChannelSftp sftpChannel = (ChannelSftp) channel;

sftpChannel.get("remote-file", "local-file" );
// OR
InputStream in = sftpChannel.get( "remote-file" );
  // process inputstream as needed

sftpChannel.exit();
session.disconnect();

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • metallmanutza13

    metallmanutz

    13 NİSAN 2007
  • tychoadragmire

    tychoadragmi

    20 Mart 2006
  • wwjoshdew

    wwjoshdew

    1 AĞUSTOS 2007