NAME
XAS::Lib::Curl::FTP - A class to transfer files using FTP
SYNOPSIS
use
XAS::Lib::Curl::FTP;
my
$ftp
= XAS::Lib::Curl::FTP->new(
-username =
'kevin'
,
-password =
'password'
,
);
my
$file
= File(
'file.txt'
);
if
(
$ftp
->get(
$url
,
$file
)) {
printf
(
"fetched %s in %s seconds, at a speed of %s bytes per second\n"
,
$ftp
->transfer_time,
$ftp
->transfer_speed);
}
DESCRIPTION
This module uses WWW::Curl to transfer files using FTP/FTPS.
METHODS
new
This method initializes the module and takes the following parameters:
- -keep_alive
-
A toggle to tell curl to forbid the reuse of sockets, defaults to true.
- -connect_timeout
-
The timeout for the initial connection, defaults to 300 seconds.
- -password
-
An optional password to use, implies a username. Wither the password is actually used, depends on -auth_method.
- -username
-
An optional username to use, implies a password.
- -ssl_cacert
-
An optional CA cerificate to use.
- -ssl_keypasswd
-
An optional password for a signed cerificate.
- -ssl_cert
-
An optional certificate to use.
- -ssl_key
-
An optional key for a certificate to use.
- -ssl_verify_host
-
Wither to verify the host certifcate, defaults to true.
- -ssl_verify_peer
-
Wither to verify the peer certificate, defaults to true.
list($url)
This method will return a list of files for the given url. The format of the list is server dependent.
info($url)
This method will return the size and DateTime object of the file residing at the url.
get($url, $file)
This method will get the file at url and place it a files destination. It will return TRUE upon success, or throw an exception on failure.
- $url
-
This is a Badger::URL object of the files url.
- $file
-
This ia a Badger::Filesystem::File object of the files destination.
put($file, $url)
This method will put the file at the destination url. It will return TRUE upon success, or throw an exception on failure.
- $url
-
This is a Badger::URL object of the files url.
- $file
-
This ia a Badger::Filesystem::File object of the files source.
SEE ALSO
AUTHOR
Kevin L. Esteb, <kevin@kesteb.us>
COPYRIGHT AND LICENSE
Copyright (c) 2012-2017 Kevin L. Esteb
This is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0. For details, see the full text of the license at http://www.perlfoundation.org/artistic_license_2_0.