网上搜了一下,发现了这个文档,其他基本就不用再看了:
http://search.cpan.org/~gbarr/libnet-1.22/Net/FTP.pm
为方便查阅,截取部分如下:
- use Net::FTP;
- $ftp = Net::FTP->new("some.host.name", Debug => 0)
- or die "Cannot connect to some.host.name: $@";
- $ftp->login("anonymous",'-anonymous@')
- or die "Cannot login ", $ftp->message;
- $ftp->cwd("/pub")
- or die "Cannot change working directory ", $ftp->message;
- $ftp->get("that.file")
- or die "get failed ", $ftp->message;
- $ftp->quit;
login ([LOGIN [,PASSWORD [, ACCOUNT] ] ])
Log into the remote FTP server with the given login information. If no arguments are given then the Net::FTP
uses the Net::Netrc
package to lookup the login information for the connected host. If no information is found then a login of anonymous is used. If no password is given and the login is anonymous then anonymous@ will be used for password.
If the connection is via a firewall then the authorize
method will be called with no arguments.
This is a protocol used by some firewall ftp proxies. It is used to authorise the user to send data out. If both arguments are not specified then authorize
uses Net::Netrc
to do a lookup.
Send a SITE command to the remote server and wait for a response.
Returns most significant digit of the response code.
asciiTransfer file in ASCII. CRLF translation will be done if required
binaryTransfer file in binary mode. No transformation will be done.
Hint: If both server and client machines use the same line ending for text files, then it will be faster to transfer all files in binary mode.
rename ( OLDNAME, NEWNAME )Rename a file on the remote FTP server from OLDNAME
to NEWNAME
. This is done by sending the RNFR and RNTO commands.
Send a request to the server to delete FILENAME
.
Attempt to change directory to the directory given in $dir
. If $dir
is ".."
, the FTP CDUP
command is used to attempt to move up one directory. If no directory is given then an attempt is made to change the directory to the root directory.
Change directory to the parent of the current directory.
pwd ()Returns the full pathname of the current directory.
restart ( WHERE )Set the byte offset at which to begin the next data transfer. Net::FTP simply records this value and uses it when during the next data transfer. For this reason this method will not return an error, but setting it may cause a subsequent data transfer to fail.
rmdir ( DIR [, RECURSE ])Remove the directory with the name DIR
. If RECURSE
is true then rmdir
will attempt to delete everything inside the directory.
Create a new directory with the name DIR
. If RECURSE
is true then mkdir
will attempt to create all the directories in the given path.
Returns the full pathname to the new directory.
alloc ( SIZE [, RECORD_SIZE] )The alloc command allows you to give the ftp server a hint about the size of the file about to be transferred using the ALLO ftp command. Some storage systems use this to make intelligent decisions about how to store the file. The SIZE
argument represents the size of the file in bytes. The RECORD_SIZE
argument indicates a maximum record or page size for files sent with a record or page structure.
The size of the file will be determined, and sent to the server automatically for normal files so that this method need only be called if you are transferring data from a socket, named pipe, or other stream not associated with a normal file.
ls ( [ DIR ] )Get a directory listing of DIR
, or the current directory.
In an array context, returns a list of lines returned from the server. In a scalar context, returns a reference to a list.
dir ( [ DIR ] )Get a directory listing of DIR
, or the current directory in long format.
In an array context, returns a list of lines returned from the server. In a scalar context, returns a reference to a list.
get ( REMOTE_FILE [, LOCAL_FILE [, WHERE]] )Get REMOTE_FILE
from the server and store locally. LOCAL_FILE
may be a filename or a filehandle. If not specified, the file will be stored in the current directory with the same leafname as the remote file.
If WHERE
is given then the first WHERE
bytes of the file will not be transferred, and the remaining bytes will be appended to the local file if it already exists.
Returns LOCAL_FILE
, or the generated local file name if LOCAL_FILE
is not given. If an error was encountered undef is returned.
Put a file on the remote server. LOCAL_FILE
may be a name or a filehandle. If LOCAL_FILE
is a filehandle then REMOTE_FILE
must be specified. If REMOTE_FILE
is not specified then the file will be stored in the current directory with the same leafname as LOCAL_FILE
.
Returns REMOTE_FILE
, or the generated remote filename if REMOTE_FILE
is not given.
NOTE: If for some reason the transfer does not complete and an error is returned then the contents that had been transferred will not be remove automatically.
put_unique ( LOCAL_FILE [, REMOTE_FILE ] )Same as put but uses the STOU
command.
Returns the name of the file on the server.
append ( LOCAL_FILE [, REMOTE_FILE ] )Same as put but appends to the file on the remote server.
Returns REMOTE_FILE
, or the generated remote filename if REMOTE_FILE
is not given.
Returns the name of the last file stored on the server using the STOU
command.
Returns the modification time of the given file
size ( FILE )Returns the size in bytes for the given file as stored on the remote server.
NOTE: The size reported is the size of the stored file on the remote server. If the file is subsequently transferred from the server in ASCII mode and the remote server and local machine have different ideas about "End Of Line" then the size of file on the local machine after transfer may be different.
supported ( CMD )Returns TRUE if the remote server supports the given command.
hash ( [FILEHANDLE_GLOB_REF],[ BYTES_PER_HASH_MARK] )Called without parameters, or with the first argument false, hash marks are suppressed. If the first argument is true but not a reference to a file handle glob, then \*STDERR is used. The second argument is the number of bytes per hash mark printed, and defaults to 1024. In all cases the return value is a reference to an array of two: the filehandle glob reference and the bytes per hash mark.
feature ( NAME )Determine if the server supports the specified feature. The return value is a list of lines the server responded with to describe the options that it supports for the given feature. If the feature is unsupported then the empty list is returned.
if ($ftp->feature( 'MDTM' )) { # Do something } if (grep { /\bTLS\b/ } $ftp->feature('AUTH')) { # Server supports TLS }
The following methods can return different results depending on how they are called. If the user explicitly calls either of the pasv
or port
methods then these methods will return a true or false value. If the user does not call either of these methods then the result will be a reference to a Net::FTP::dataconn
based object.
- nlst ( [ DIR ] )
-
Send an
NLST
command to the server, with an optional parameter. - list ( [ DIR ] )
-
Same as
nlst
but using theLIST
command - retr ( FILE )
-
Begin the retrieval of a file called
FILE
from the remote server. - stor ( FILE )
-
Tell the server that you wish to store a file.
FILE
is the name of the new file that should be created. - stou ( FILE )
-
Same as
stor
but using theSTOU
command. The name of the unique file which was created on the server will be available via theunique_name
method after the data connection has been closed. - appe ( FILE )
-
Tell the server that we want to append some data to the end of a file called
FILE
. If this file does not exist then create it.
If for some reason you want to have complete control over the data connection, this includes generating it and calling the response
method when required, then the user can use these methods to do so.
However calling these methods only affects the use of the methods above that can return a data connection. They have no effect on methods get
, put
, put_unique
and those that do not require data connections.
- port ( [ PORT ] )
-
Send a
PORT
command to the server. IfPORT
is specified then it is sent to the server. If not, then a listen socket is created and the correct information sent to the server. - pasv ()
-
Tell the server to go into passive mode. Returns the text that represents the port on which the server is listening, this text is in a suitable form to sent to another ftp server using the
port
method.
The following methods can be used to transfer files between two remote servers, providing that these two servers can connect directly to each other.
- pasv_xfer ( SRC_FILE, DEST_SERVER [, DEST_FILE ] )
-
This method will do a file transfer between two remote ftp servers. If
DEST_FILE
is omitted then the leaf name ofSRC_FILE
will be used. - pasv_xfer_unique ( SRC_FILE, DEST_SERVER [, DEST_FILE ] )
-
Like
pasv_xfer
but the file is stored on the remote server using the STOU command. - pasv_wait ( NON_PASV_SERVER )
-
This method can be used to wait for a transfer to complete between a passive server and a non-passive server. The method should be called on the passive server with the
Net::FTP
object for the non-passive server passed as an argument. - abort ()
-
Abort the current data transfer.
- quit ()
-
Send the QUIT command to the remote FTP server and close the socket connection.
-
-
-
-
-
本文转自 hexiaini235 51CTO博客,原文链接:http://blog.51cto.com/idata/1119449
-
,如需转载请自行联系原作者
-