Re: sftp status error/status code
- From: Dan Nelson <dnelson@xxxxxxxxxxxxxxx>
- Date: Fri, 13 Apr 2007 13:07:08 -0500
In the last episode (Apr 12), alan.cline@xxxxxxx said:
Is there a way to receive "sftp status codes" as part of the sftp
command response message on stdout, when an sftp command is issued on
stdin.
For instance: Issuing the "get" command interactively to an ftp
server, I receive the following response on stdout:
550 filename: No such file or directory.
The same command sent to an OpenSSH sftp server receives the
following response:
Couldn't stat remote file: No such file or directory. File "/local/abbb/foo" not found.
I need to programmatically extract the status code off the stdout
output. However, I haven't found a way to get the "status code" in
stdout.
Does anyone know of a way to get the "sftp status codes" sent to
stdout, like ftp servers do?
The answer is that there is no FTP-like status code. The SFTP protocol
is more like NFS, SMB or other network filesystem protocols. You stat
a filename to see if it's a directory, if it's not, you open it and get
a filehandle back, then you read small chunks of the file in a loop
until a read returns EOF. What's happening to you is the stat is
failing, and sftp is printing "Couldn't stat remote file: %s", where %s
is the error string passed by the server in its error packet.
http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-9.1
If you want to transfer files from within a program, check out curl's
library API. Versions 7.16.1 and newer support the sftp and scp
protocols.
--
Dan Nelson
dnelson@xxxxxxxxxxxxxxx
- References:
- sftp status error/status code
- From: alan . cline
- sftp status error/status code
- Prev by Date: SSH2 Specifications?
- Next by Date: Re: SSH2 Specifications?
- Previous by thread: Re: sftp status error/status code
- Next by thread: SSH2 Specifications?
- Index(es):
Relevant Pages
|