5.20.8. Multiple Down and Uploads

<< Click to Display Table of Contents >>

Navigation:  5. Detailed description of the Actions > 5.20. System Tools >

5.20.8. Multiple Down and Uploads

 
Icon: ANATEL~4_img298

 

Property window:

 

ANATEL~4_img297

 

Short description:

Upload or download a series of files

 

Long Description:

Upload or download a series of files.

 

This Action is often used with the ANATEL~4_img280  fileListFromObsDate Action (see section 5.22.5 for more this Action). For example, if we want to download the file names “my_data_<the date>.xls” for the last five days (skipping the files that we already downloaded), we’ll have something like this:

 

clip0268

 

As output, for each downloaded/uploaded file, you’ll get an “Error Code” that give some explanation about the success/failure of the download/upload. The error code “zero” means: No error. The Other Error codes are (This is an extract from https://curl.haxx.se/libcurl/c/libcurl-errors.html ):

 

ERROR CODE

SHORT DESCRIPTION

LONG DESCRIPTION

0

OK

All fine. Proceed as usual.

1

UNSUPPORTED_PROTOCOL

The URL you passed to libcurl used a protocol that this libcurl does not support. The support might be a compile-time option that you didn't use, it can be a misspelled protocol string or just a protocol curl has no code for.

2

FAILED_INIT

Very early initialization code failed. This is likely to be an internal error or problem, or a resource problem where something fundamental couldn't get done at init time.

3

URL_MALFORMAT

The URL was not properly formatted.

4

NOT_BUILT_IN

A requested feature, protocol or option was not found built-in in this libcurl due to a build-time decision. This means that a feature or option was not enabled or explicitly disabled when libcurl was built and in order to get it to function you have to get a rebuilt libcurl.

5

COULDNT_RESOLVE_PROXY

Couldn't resolve proxy. The given proxy host could not be resolved.

6

COULDNT_RESOLVE_HOST

Couldn't resolve host. The given remote host was not resolved.

7

COULDNT_CONNECT

Failed to connect() to host or proxy.

8

FTP_WEIRD_SERVER_REPLY

The server sent data libcurl couldn't parse. This error code is used for more than just FTP and is aliased as CURLE_WEIRD_SERVER_REPLY since 7.51.0.

9

REMOTE_ACCESS_DENIED

We were denied access to the resource given in the URL. For FTP, this occurs while trying to change to the remote directory.

10

FTP_ACCEPT_FAILED

While waiting for the server to connect back when an active FTP session is used, an error code was sent over the control connection or similar.

11

FTP_WEIRD_PASS_REPLY

After having sent the FTP password to the server, libcurl expects a proper reply. This error code indicates that an unexpected code was returned.

12

FTP_ACCEPT_TIMEOUT

During an active FTP session while waiting for the server to connect, the CURLOPT_ACCEPTTIMEOUT_MS (or the internal default) timeout expired.

13

FTP_WEIRD_PASV_REPLY

libcurl failed to get a sensible result back from the server as a response to either a PASV or a EPSV command. The server is flawed.

14

FTP_WEIRD_227_FORMAT

FTP servers return a 227-line as a response to a PASV command. If libcurl fails to parse that line, this return code is passed back.

15

FTP_CANT_GET_HOST

An internal failure to lookup the host used for the new connection.

16

HTTP2

A problem was detected in the HTTP2 framing layer. This is somewhat generic and can be one out of several problems, see the error buffer for details.

17

FTP_COULDNT_SET_TYPE

Received an error when trying to set the transfer mode to binary or ASCII.

18

PARTIAL_FILE

A file transfer was shorter or larger than expected. This happens when the server first reports an expected transfer size, and then delivers data that doesn't match the previously given size.

19

FTP_COULDNT_RETR_FILE

This was either a weird reply to a 'RETR' command or a zero byte transfer complete.

21

QUOTE_ERROR

When sending custom "QUOTE" commands to the remote server, one of the commands returned an error code that was 400 or higher (for FTP) or otherwise indicated unsuccessful completion of the command.

22

HTTP_RETURNED_ERROR

This is returned if CURLOPT_FAILONERROR is set TRUE and the HTTP server returns an error code that is >= 400.

23

WRITE_ERROR

An error occurred when writing received data to a local file, or an error was returned to libcurl from a write callback.

25

UPLOAD_FAILED

Failed starting the upload. For FTP, the server typically denied the STOR command. The error buffer usually contains the server's explanation for this.

26

READ_ERROR

There was a problem reading a local file or an error returned by the read callback.

27

OUT_OF_MEMORY

A memory allocation request failed. This is serious badness and things are severely screwed up if this ever occurs.

28

OPERATION_TIMEDOUT

Operation timeout. The specified time-out period was reached according to the conditions.

30

FTP_PORT_FAILED

The FTP PORT command returned error. This mostly happens when you haven't specified a good enough address for libcurl to use. See CURLOPT_FTPPORT.

31

FTP_COULDNT_USE_REST

The FTP REST command returned error. This should never happen if the server is sane.

33

RANGE_ERROR

The server does not support or accept range requests.

34

HTTP_POST_ERROR

This is an odd error that mainly occurs due to internal confusion.

35

SSL_CONNECT_ERROR

A problem occurred somewhere in the SSL/TLS handshake. You really want the error buffer and read the message there as it pinpoints the problem slightly more. Could be certificates (file formats, paths, permissions), passwords, and others.

36

BAD_DOWNLOAD_RESUME

The download could not be resumed because the specified offset was out of the file boundary.

37

FILE_COULDNT_READ_FILE

A file given with FILE:// couldn't be opened. Most likely because the file path doesn't identify an existing file. Did you check file permissions?

38

LDAP_CANNOT_BIND

LDAP cannot bind. LDAP bind operation failed.

39

LDAP_SEARCH_FAILED

LDAP search failed.

41

FUNCTION_NOT_FOUND

Function not found. A required zlib function was not found.

42

ABORTED_BY_CALLBACK

Aborted by callback. A callback returned "abort" to libcurl.

43

BAD_FUNCTION_ARGUMENT

Internal error. A function was called with a bad parameter.

45

INTERFACE_FAILED

Interface error. A specified outgoing interface could not be used. Set which interface to use for outgoing connections' source IP address with CURLOPT_INTERFACE.

47

TOO_MANY_REDIRECTS

Too many redirects. When following redirects, libcurl hit the maximum amount. Set your limit with CURLOPT_MAXREDIRS.

48

UNKNOWN_OPTION

An option passed to libcurl is not recognized/known. Refer to the appropriate documentation. This is most likely a problem in the program that uses libcurl. The error buffer might contain more specific information about which exact option it concerns.

49

TELNET_OPTION_SYNTAX

A telnet option string was Illegally formatted.

51

PEER_FAILED_VERIFICATION

The remote server's SSL certificate or SSH md5 fingerprint was deemed not OK.

52

GOT_NOTHING

Nothing was returned from the server, and under the circumstances, getting nothing is considered an error.

53

SSL_ENGINE_NOTFOUND

The specified crypto engine wasn't found.

54

SSL_ENGINE_SETFAILED

Failed setting the selected SSL crypto engine as default!

55

SEND_ERROR

Failed sending network data.

56

RECV_ERROR

Failure with receiving network data.

58

SSL_CERTPROBLEM

problem with the local client certificate.

59

SSL_CIPHER

Couldn't use specified cipher.

60

SSL_CACERT

Peer certificate cannot be authenticated with known CA certificates.

61

BAD_CONTENT_ENCODING

Unrecognized transfer encoding.

62

LDAP_INVALID_URL

Invalid LDAP URL.

63

FILESIZE_EXCEEDED

Maximum file size exceeded.

64

USE_SSL_FAILED

Requested FTP SSL level failed.

65

SEND_FAIL_REWIND

When doing a send operation curl had to rewind the data to retransmit, but the rewinding operation failed.

66

SSL_ENGINE_INITFAILED

Initiating the SSL Engine failed.

67

LOGIN_DENIED

The remote server denied curl to login (Added in 7.13.1)

68

TFTP_NOTFOUND

File not found on TFTP server.

69

TFTP_PERM

Permission problem on TFTP server.

70

REMOTE_DISK_FULL

Out of disk space on the server.

71

TFTP_ILLEGAL

Illegal TFTP operation.

72

TFTP_UNKNOWNID

Unknown TFTP transfer ID.

73

REMOTE_FILE_EXISTS

File already exists and will not be overwritten.

74

TFTP_NOSUCHUSER

This error should never be returned by a properly functioning TFTP server.

75

CONV_FAILED

Character conversion failed.

76

CONV_REQD

Caller must register conversion callbacks.

77

SSL_CACERT_BADFILE

Problem with reading the SSL CA cert (path? access rights?)

78

REMOTE_FILE_NOT_FOUND

The resource referenced in the URL does not exist.

79

SSH

An unspecified error occurred during the SSH session.

80

SSL_SHUTDOWN_FAILED

Failed to shut down the SSL connection.

81

AGAIN

Socket is not ready for send/recv wait till it's ready and try again. This return code is only returned from curl_easy_recv and curl_easy_send (Added in 7.18.2)

82

SSL_CRL_BADFILE

Failed to load CRL file (Added in 7.19.0)

83

SSL_ISSUER_ERROR

Issuer check failed (Added in 7.19.0)

84

FTP_PRET_FAILED

The FTP server does not understand the PRET command at all or does not support the given argument. Be careful when using CURLOPT_CUSTOMREQUEST, a custom LIST command will be sent with PRET CMD before PASV as well. (Added in 7.20.0)

85

RTSP_CSEQ_ERROR

Mismatch of RTSP CSeq numbers.

86

RTSP_SESSION_ERROR

Mismatch of RTSP Session Identifiers.

87

FTP_BAD_FILE_LIST

Unable to parse FTP file list (during FTP wildcard downloading).

88

CHUNK_FAILED

Chunk callback reported error.

89

NO_CONNECTION_AVAILABLE

(For internal use only, will never be returned by libcurl) No connection available, the session will be queued. (added in 7.30.0)

90

SSL_PINNEDPUBKEYNOTMATCH

Failed to match the pinned key specified with CURLOPT_PINNEDPUBLICKEY.

91

SSL_INVALIDCERTSTATUS

Status returned failure when asked with CURLOPT_SSL_VERIFYSTATUS.

92

HTTP2_STREAM

Stream error in the HTTP/2 framing layer.

 

 
One very common “error code” (or “Status”) is the number “78”: REMOTE FILE NOT FOUND.

 
For example: The Anatella graph below stops when:
 

…the number failure (to download some file) is strictly above 2.
 

…directly in case of any other type of error.

 

clip0269