Qore Programming Language Reference Manual  1.8.0
QC_FtpClient.dox.h
1 
3 namespace Qore {
5 
9  int code;
11  string msg;
12 };
13 }
14 
16 namespace Qore {
18 
98 class FtpClient {
99 
100 public:
102 
112 
113 public:
115 
125 
126 public:
128 
145 nothing connect();
146 
147 public:
149 
155 
156 public:
158 
170  constructor(string url);
171 
172 public:
174 
176  copy();
177 
178 public:
180 
193 nothing cwd(string path);
194 
195 public:
197 
212 nothing del(string remote_path);
213 
214 public:
216 
225 
226 public:
228 
236 nothing disconnect();
237 
238 public:
240 
264 nothing get(string remote_path, *string local_path);
265 
266 public:
268 
288 nothing get(string remote_path, Qore::OutputStream os);
289 
290 public:
292 
312 binary getAsBinary(string remote_path);
313 
314 public:
316 
340 string getAsString(string remote_path, *string encoding);
341 
342 public:
344 
360 hash<auto> getControlPeerInfo(bool host_lookup = True);
361 
362 public:
364 
380 hash<auto> getControlSocketInfo(bool host_lookup = True);
381 
382 public:
384 
400 hash<auto> getDataPeerInfo(bool host_lookup = True);
401 
402 public:
404 
420 hash<auto> getDataSocketInfo(bool host_lookup = True);
421 
422 public:
424 
431 *string getHostName();
432 
433 public:
435 
445 string getMode();
446 
447 public:
449 
462 
463 public:
465 
472 *string getPassword();
473 
474 public:
476 
483 int getPort();
484 
485 public:
487 
499 
500 public:
502 
514 
515 public:
517 
525 
526 public:
528 
535 string getURL();
536 
537 public:
539 
561 
562 public:
564 
571 *string getUserName();
572 
573 public:
575 
587 
588 public:
590 
600 bool isSecure();
601 
602 public:
604 
621 *string list();
622 
623 public:
625 
644 *string list(string path);
645 
646 public:
648 
663 nothing mkdir(string remote_path);
664 
665 public:
667 
684 *string nlst();
685 
686 public:
688 
707 *string nlst(string path);
708 
709 public:
711 
734 nothing put(string local_path, *string remote_path);
735 
736 public:
738 
758 nothing put(Qore::InputStream is, string remote_path);
759 
760 public:
762 
778 nothing putData(string data, string remote_path);
779 
780 public:
782 
798 nothing putData(binary data, string remote_path);
799 
800 public:
802 
817 string pwd();
818 
819 public:
821 
837 nothing rename(string from, string to);
838 
839 public:
841 
856 nothing rmdir(string remote_path);
857 
858 public:
860 
869 hash<FtpResponseInfo> sendControlMessage(string cmd, string arg);
870 
871 public:
873 
879 
880 public:
882 
897 nothing setControlEventQueue(Qore::Thread::Queue queue, auto arg, *bool with_data);
898 
899 public:
901 
907 
908 public:
910 
925 nothing setDataEventQueue(Qore::Thread::Queue queue, auto arg, *bool with_data);
926 
927 public:
929 
934 nothing setEventQueue();
935 
936 public:
938 
953 nothing setEventQueue(Qore::Thread::Queue queue, auto arg, *bool with_data);
954 
955 public:
957 
964 nothing setHostName(string host);
965 
966 public:
968 
975 nothing setInsecure();
976 
977 public:
979 
987 nothing setInsecureData();
988 
989 public:
991 
996 nothing setModeAuto();
997 
998 public:
1000 
1005 nothing setModeEPSV();
1006 
1007 public:
1009 
1014 nothing setModePASV();
1015 
1016 public:
1018 
1023 nothing setModePORT();
1024 
1025 public:
1027 
1038 nothing setNetworkFamily(int family);
1039 
1040 public:
1042 
1049 nothing setPassword(string pass);
1050 
1051 public:
1053 
1062 nothing setPort(int port);
1063 
1064 public:
1066 
1075 nothing setSecure(bool secure = True);
1076 
1077 public:
1079 
1083  setTimeout(timeout timeout_ms);
1084 
1085 public:
1087 
1099 nothing setURL(string url);
1100 
1101 public:
1103 
1110 nothing setUserName(string user);
1111 
1112 public:
1114 
1146 nothing setWarningQueue(int warning_ms, int warning_bs, Queue queue, auto arg, timeout min_ms = 1s);
1147 
1148 public:
1150 
1162 };
1163 }
The FtpClient class allows Qore code to communicate with FTP servers with the FTP and FTPS protocols.
Definition: QC_FtpClient.dox.h:98
setTimeout(timeout timeout_ms)
sets the socket I/O timeout value in milliseconds
nothing setSecure(bool secure=True)
Make an FTPS connection to the server on the next connect if the argument is True.
nothing setEventQueue()
Clears any Queue object that may be set on the FtpClient object so that I/O events are no longer capt...
nothing setUserName(string user)
Sets the user name to use for the next connection.
clearStats()
Clears performance statistics.
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.
nothing setModePASV()
Sets the object to only try to make data connections using PASV (RFC-959 passive) mode.
nothing setNetworkFamily(int family)
Sets the network address family to use for new connections; use this method to restrict connections t...
*string list()
Returns a list of files from the FTP server in the server's long format in the current working direct...
int getNetworkFamily()
Returns the network address family to use for new connections.
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,...
bool isDataSecure()
Returns True if the data connections are secure TLS/SSL connections, False if not.
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...
hash< FtpResponseInfo > sendControlMessage(string cmd, string arg)
Sends a message on the control connection with a reply on the control connection only.
string getURL()
Retrieves the current connection URL string for this object.
nothing clearWarningQueue()
Removes any warning Queue object from the Socket.
constructor(string url)
Creates an FtpClient object and initializes it with a URL.
*string getSSLCipherVersion()
Returns the version of the cipher for an encrypted connection or NOTHING if an encrypted connection i...
hash< auto > getDataPeerInfo(bool host_lookup=True)
Returns information about the remote data socket as a hash.
nothing setWarningQueue(int warning_ms, int warning_bs, Queue queue, auto arg, timeout min_ms=1s)
Sets a Queue object to receive socket warnings.
*string getUserName()
Returns the current username value or NOTHING if none is set.
string pwd()
Returns the server-side current working directory.
nothing setURL(string url)
Sets the connection and login parameters based on the URL passed as an argument.
copy()
Throws an exception to prevent copying of objects this class.
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.
string getAsString(string remote_path, *string encoding)
Gets a file from the FTP server and returns it as a string.
nothing setDataEventQueue()
Clears any Queue object that may be set on the FtpClient object so that I/O events are no longer capt...
binary getAsBinary(string remote_path)
Gets a file from the FTP server and returns it as a binary.
nothing setInsecureData()
Make a non-encrypted data connection to the server on the next connect even if the control connection...
*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 ...
int getPort()
Retrieves the current connection port value for this object.
nothing disconnect()
Disconnects from an FTP server.
*string verifyPeerCertificate()
Returns a string code giving the result of verifying the remote certificate or NOTHING if an encrypte...
nothing put(string local_path, *string remote_path)
Transfers a local file to the FTP server; if any errors occur, an exception is thrown.
hash getUsageInfo()
Returns performance statistics for the socket.
nothing mkdir(string remote_path)
Creates a directory on the FTP server; if any errors occur, an exception is thrown.
nothing setControlEventQueue()
Clears any Queue object that may be set on the FtpClient object so that I/O events are no longer capt...
hash< auto > getDataSocketInfo(bool host_lookup=True)
Returns information about the local data socket as a hash.
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,...
nothing setModeEPSV()
Sets the object to only try to make data connections using EPSV (RFC-2428 extended passive) mode.
*string nlst()
Returns a list of file names from the FTP server in the current working directory or NOTHING if the p...
hash< auto > getControlSocketInfo(bool host_lookup=True)
Returns information about the local control socket as a hash.
nothing del(string remote_path)
Deletes a file from the FTP server; if any errors occur, an exception is thrown.
nothing setPort(int port)
Sets the control port value to use for the next connection (the FTP protocol default is 21)
destructor()
Disconnects any remote connection and destroys the object.
hash< auto > getControlPeerInfo(bool host_lookup=True)
Returns information about the remote end of the control socket as a hash.
nothing setHostName(string host)
Sets the hostname or address to use to connect to for the next connection.
string getMode()
returns a string for the connection mode: "port", "pasv", "epsv", or "auto" if not connected and auto...
nothing rmdir(string remote_path)
Removes a directory on the remote FTP server; if any errors occur, an exception is thrown.
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...
int getTimeout()
returns the socket I/O timeout value as an integer in milliseconds
nothing rename(string from, string to)
Renames/moves a file or directory; if any errors occur, an exception is thrown.
nothing setModeAuto()
Sets the object to automatically try to negotiate the data connections in EPSV, PASV,...
bool isSecure()
Returns True if the control connection is a secure TLS/SSL connection, False if not.
*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...
*string getSSLCipherName()
Returns the name of the cipher for an encrypted connection or NOTHING if an encrypted connection is n...
*string getPassword()
Returns the current password value or NOTHING if none is set.
nothing setInsecure()
Make a non-encrypted connection to the server on the next connect.
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.
nothing setModePORT()
Sets the object to only try to make data connections using PORT mode.
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...
nothing connect()
Connects to the FTP server and attempts a login; if any errors occur, an exception is thrown.
*string getHostName()
Returns the current hostname value or NOTHING if none is set.
nothing cwd(string path)
Changes the current working directory on the server.
nothing setPassword(string pass)
Sets the password to use for the next connection.
constructor()
Creates an empty FtpClient object.
This class defines an abstract interface for input streams.
Definition: QC_InputStream.dox.h:19
This class defines an abstract interface for output streams.
Definition: QC_OutputStream.dox.h:18
Queue objects provide a blocking, thread-safe message-passing object to Qore programs
Definition: QC_Queue.dox.h:22
const True
logical True
Definition: qc_qore.dox.h:98
hash< auto > hash(object obj)
Returns a hash of an object's members.
binary binary()
Always returns an empty binary object (of zero length)
main Qore-language namespace
Definition: Pseudo_QC_All.dox.h:3
A hash describing a free-form FTP control response.
Definition: QC_FtpClient.dox.h:7
string msg
The response message string.
Definition: QC_FtpClient.dox.h:11
int code
The integer response code.
Definition: QC_FtpClient.dox.h:9