QC_FtpClient.dox.h
namespace Qore {
struct FtpResponseInfo {
int code;
string msg;
};
}
namespace Qore {
class FtpClient {
public:
clearStats();
public:
nothing clearWarningQueue();
public:
nothing connect();
public:
constructor();
public:
constructor(string url);
public:
copy();
public:
nothing cwd(string path);
public:
nothing del(string remote_path);
public:
destructor();
public:
nothing disconnect();
public:
nothing get(string remote_path, *string local_path);
public:
nothing get(string remote_path, Qore::OutputStream os);
public:
binary getAsBinary(string remote_path);
public:
string getAsString(string remote_path);
public:
hash<auto> getControlPeerInfo(bool host_lookup = True);
public:
hash<auto> getControlSocketInfo(bool host_lookup = True);
public:
hash<auto> getDataPeerInfo(bool host_lookup = True);
public:
hash<auto> getDataSocketInfo(bool host_lookup = True);
public:
*string getHostName();
public:
string getMode();
public:
int getNetworkFamily();
public:
*string getPassword();
public:
int getPort();
public:
*string getSSLCipherName();
public:
*string getSSLCipherVersion();
public:
int getTimeout();
public:
string getURL();
public:
hash getUsageInfo();
public:
*string getUserName();
public:
bool isDataSecure();
public:
bool isSecure();
public:
*string list();
public:
*string list(string path);
public:
nothing mkdir(string remote_path);
public:
*string nlst();
public:
*string nlst(string path);
public:
nothing put(string local_path, *string remote_path);
public:
nothing put(Qore::InputStream is, string remote_path);
public:
nothing putData(string data, string remote_path);
public:
nothing putData(binary data, string remote_path);
public:
string pwd();
public:
nothing rename(string from, string to);
public:
nothing rmdir(string remote_path);
public:
hash<FtpResponseInfo> sendControlMessage(string cmd, string arg);
public:
nothing setControlEventQueue();
public:
nothing setControlEventQueue(Qore::Thread::Queue queue, auto arg, *bool with_data);
public:
nothing setDataEventQueue();
public:
nothing setDataEventQueue(Qore::Thread::Queue queue, auto arg, *bool with_data);
public:
nothing setEventQueue();
public:
nothing setEventQueue(Qore::Thread::Queue queue, auto arg, *bool with_data);
public:
nothing setHostName(string host);
public:
nothing setInsecure();
public:
nothing setInsecureData();
public:
nothing setModeAuto();
public:
nothing setModeEPSV();
public:
nothing setModePASV();
public:
nothing setModePORT();
public:
nothing setNetworkFamily(int family);
public:
nothing setPassword(string pass);
public:
nothing setPort(int port);
public:
nothing setSecure(bool secure = True);
public:
setTimeout(timeout timeout_ms);
public:
nothing setURL(string url);
public:
nothing setUserName(string user);
public:
nothing setWarningQueue(int warning_ms, int warning_bs, Queue queue, auto arg, timeout min_ms = 1s);
public:
*string verifyPeerCertificate();
};
}
Qore::FtpClient
The FtpClient class allows Qore code to communicate with FTP servers with the FTP and FTPS protocols.
Definition: QC_FtpClient.dox.h:98
Qore::FtpClient::setTimeout
setTimeout(timeout timeout_ms)
sets the socket I/O timeout value in milliseconds
Qore::FtpClient::setSecure
nothing setSecure(bool secure=True)
Make an FTPS connection to the server on the next connect if the argument is True.
Qore::FtpClient::setEventQueue
nothing setEventQueue()
Clears any Queue object that may be set on the FtpClient object so that I/O events are no longer capt...
Qore::FtpClient::setUserName
nothing setUserName(string user)
Sets the user name to use for the next connection.
Qore::FtpClient::clearStats
clearStats()
Clears performance statistics.
Qore::FtpClient::setEventQueue
nothing setEventQueue(Qore::Thread::Queue queue, auto arg, *bool with_data)
Sets a Queue object to receive FtpClient and Socket events on both the data and control connections.
Qore::FtpClient::setModePASV
nothing setModePASV()
Sets the object to only try to make data connections using PASV (RFC-959 passive) mode.
Qore::FtpClient::setNetworkFamily
nothing setNetworkFamily(int family)
Sets the network address family to use for new connections; use this method to restrict connections t...
Qore::FtpClient::list
*string list()
Returns a list of files from the FTP server in the server's long format in the current working direct...
Qore::FtpClient::getNetworkFamily
int getNetworkFamily()
Returns the network address family to use for new connections.
Qore::FtpClient::get
nothing get(string remote_path, *string local_path)
Gets a file from the FTP server and stores it on the local filesystem; if any errors occur,...
Qore::FtpClient::isDataSecure
bool isDataSecure()
Returns True if the data connections are secure TLS/SSL connections, False if not.
Qore::FtpClient::putData
nothing putData(binary data, string remote_path)
Transfers binary data to the FTP server and saves it as a file on the remote machine; if any errors o...
Qore::FtpClient::sendControlMessage
hash< FtpResponseInfo > sendControlMessage(string cmd, string arg)
Sends a message on the control connection with a reply on the control connection only.
Qore::FtpClient::getURL
string getURL()
Retrieves the current connection URL string for this object.
Qore::FtpClient::clearWarningQueue
nothing clearWarningQueue()
Removes any warning Queue object from the Socket.
Qore::FtpClient::constructor
constructor(string url)
Creates an FtpClient object and initializes it with a URL.
Qore::FtpClient::getSSLCipherVersion
*string getSSLCipherVersion()
Returns the version of the cipher for an encrypted connection or NOTHING if an encrypted connection i...
Qore::FtpClient::getDataPeerInfo
hash< auto > getDataPeerInfo(bool host_lookup=True)
Returns information about the remote data socket as a hash.
Qore::FtpClient::setWarningQueue
nothing setWarningQueue(int warning_ms, int warning_bs, Queue queue, auto arg, timeout min_ms=1s)
Sets a Queue object to receive socket warnings.
Qore::FtpClient::getUserName
*string getUserName()
Returns the current username value or NOTHING if none is set.
Qore::FtpClient::pwd
string pwd()
Returns the server-side current working directory.
Qore::FtpClient::setURL
nothing setURL(string url)
Sets the connection and login parameters based on the URL passed as an argument.
Qore::FtpClient::copy
copy()
Throws an exception to prevent copying of objects this class.
Qore::FtpClient::setDataEventQueue
nothing setDataEventQueue(Qore::Thread::Queue queue, auto arg, *bool with_data)
Sets a Queue object to receive FtpClient and Socket events on the data connection.
Qore::FtpClient::setDataEventQueue
nothing setDataEventQueue()
Clears any Queue object that may be set on the FtpClient object so that I/O events are no longer capt...
Qore::FtpClient::getAsBinary
binary getAsBinary(string remote_path)
Gets a file from the FTP server and returns it as a binary.
Qore::FtpClient::setInsecureData
nothing setInsecureData()
Make a non-encrypted data connection to the server on the next connect even if the control connection...
Qore::FtpClient::nlst
*string nlst(string path)
Returns a list of file names from the FTP server for the given path or NOTHING if the path cannot be ...
Qore::FtpClient::getPort
int getPort()
Retrieves the current connection port value for this object.
Qore::FtpClient::disconnect
nothing disconnect()
Disconnects from an FTP server.
Qore::FtpClient::verifyPeerCertificate
*string verifyPeerCertificate()
Returns a string code giving the result of verifying the remote certificate or NOTHING if an encrypte...
Qore::FtpClient::put
nothing put(string local_path, *string remote_path)
Transfers a local file to the FTP server; if any errors occur, an exception is thrown.
Qore::FtpClient::getUsageInfo
hash getUsageInfo()
Returns performance statistics for the socket.
Qore::FtpClient::mkdir
nothing mkdir(string remote_path)
Creates a directory on the FTP server; if any errors occur, an exception is thrown.
Qore::FtpClient::getAsString
string getAsString(string remote_path)
Gets a file from the FTP server and returns it as a string.
Qore::FtpClient::setControlEventQueue
nothing setControlEventQueue()
Clears any Queue object that may be set on the FtpClient object so that I/O events are no longer capt...
Qore::FtpClient::getDataSocketInfo
hash< auto > getDataSocketInfo(bool host_lookup=True)
Returns information about the local data socket as a hash.
Qore::FtpClient::get
nothing get(string remote_path, Qore::OutputStream os)
Gets a file from the FTP server and writes it to an OutputStream; if any errors occur,...
Qore::FtpClient::setModeEPSV
nothing setModeEPSV()
Sets the object to only try to make data connections using EPSV (RFC-2428 extended passive) mode.
Qore::FtpClient::nlst
*string nlst()
Returns a list of file names from the FTP server in the current working directory or NOTHING if the p...
Qore::FtpClient::getControlSocketInfo
hash< auto > getControlSocketInfo(bool host_lookup=True)
Returns information about the local control socket as a hash.
Qore::FtpClient::del
nothing del(string remote_path)
Deletes a file from the FTP server; if any errors occur, an exception is thrown.
Qore::FtpClient::setPort
nothing setPort(int port)
Sets the control port value to use for the next connection (the FTP protocol default is 21)
Qore::FtpClient::destructor
destructor()
Disconnects any remote connection and destroys the object.
Qore::FtpClient::getControlPeerInfo
hash< auto > getControlPeerInfo(bool host_lookup=True)
Returns information about the remote end of the control socket as a hash.
Qore::FtpClient::setHostName
nothing setHostName(string host)
Sets the hostname or address to use to connect to for the next connection.
Qore::FtpClient::getMode
string getMode()
returns a string for the connection mode: "port", "pasv", "epsv", or "auto" if not connected and auto...
Qore::FtpClient::rmdir
nothing rmdir(string remote_path)
Removes a directory on the remote FTP server; if any errors occur, an exception is thrown.
Qore::FtpClient::put
nothing put(Qore::InputStream is, string remote_path)
Transfers the content of an InputStream to the FTP server; if any errors occur, an exception is throw...
Qore::FtpClient::getTimeout
int getTimeout()
returns the socket I/O timeout value as an integer in milliseconds
Qore::FtpClient::rename
nothing rename(string from, string to)
Renames/moves a file or directory; if any errors occur, an exception is thrown.
Qore::FtpClient::setModeAuto
nothing setModeAuto()
Sets the object to automatically try to negotiate the data connections in EPSV, PASV,...
Qore::FtpClient::isSecure
bool isSecure()
Returns True if the control connection is a secure TLS/SSL connection, False if not.
Qore::FtpClient::list
*string list(string path)
Returns a list of files from the FTP server in the server's long format for the given path or NOTHING...
Qore::FtpClient::getSSLCipherName
*string getSSLCipherName()
Returns the name of the cipher for an encrypted connection or NOTHING if an encrypted connection is n...
Qore::FtpClient::getPassword
*string getPassword()
Returns the current password value or NOTHING if none is set.
Qore::FtpClient::setInsecure
nothing setInsecure()
Make a non-encrypted connection to the server on the next connect.
Qore::FtpClient::setControlEventQueue
nothing setControlEventQueue(Qore::Thread::Queue queue, auto arg, *bool with_data)
Sets a Queue object to receive FtpClient and Socket events on the control connection.
Qore::FtpClient::setModePORT
nothing setModePORT()
Sets the object to only try to make data connections using PORT mode.
Qore::FtpClient::putData
nothing putData(string data, string remote_path)
Transfers string data to the FTP server and saves it as a file on the remote machine; if any errors o...
Qore::FtpClient::connect
nothing connect()
Connects to the FTP server and attempts a login; if any errors occur, an exception is thrown.
Qore::FtpClient::getHostName
*string getHostName()
Returns the current hostname value or NOTHING if none is set.
Qore::FtpClient::cwd
nothing cwd(string path)
Changes the current working directory on the server.
Qore::FtpClient::setPassword
nothing setPassword(string pass)
Sets the password to use for the next connection.
Qore::FtpClient::constructor
constructor()
Creates an empty FtpClient object.
Qore::InputStream
This class defines an abstract interface for input streams.
Definition: QC_InputStream.dox.h:19
Qore::OutputStream
This class defines an abstract interface for output streams.
Definition: QC_OutputStream.dox.h:18
Qore::Thread::Queue
Queue objects provide a blocking, thread-safe message-passing object to Qore programs
Definition: QC_Queue.dox.h:22
Qore::True
const True
logical True
Definition: qc_qore.dox.h:98
Qore::hash
hash< auto > hash(object obj)
Returns a hash of an object's members.
Qore::binary
binary binary()
Always returns an empty binary object (of zero length)
Qore
main Qore-language namespace
Definition: Pseudo_QC_All.dox.h:3
Qore::FtpResponseInfo
A hash describing a free-form FTP control response.
Definition: QC_FtpClient.dox.h:7
Qore::FtpResponseInfo::msg
string msg
The response message string.
Definition: QC_FtpClient.dox.h:11
Qore::FtpResponseInfo::code
int code
The integer response code.
Definition: QC_FtpClient.dox.h:9