CURLOPT_WILDCARDMATCH - directory wildcard transfers
#include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WILDCARDMATCH, long onoff);
CURLOPT_WILDCARDMATCH(3) curl_easy_setopt options CURLOPT_WILDCARDMATCH(3) NAME CURLOPT_WILDCARDMATCH - directory wildcard transfers SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WILDCARDMATCH, long onoff); DESCRIPTION Set onoff to 1 if you want to transfer multiple files according to a file name pattern. The pattern can be specified as part of the CUR- LOPT_URL(3) option, using an fnmatch-like pattern (Shell Pattern Match- ing) in the last part of URL (file name). By default, libcurl uses its internal wildcard matching implementation. You can provide your own matching function by the CURLOPT_FNMATCH_FUNC- TION(3) option. A brief introduction of its syntax follows: * - ASTERISK ftp://example.com/some/path/*.txt (for all txt's from the root directory). Only two asterisks are allowed within the same pattern string. ? - QUESTION MARK Question mark matches any (exactly one) character. ftp://example.com/some/path/photo?.jpeg [ - BRACKET EXPRESSION The left bracket opens a bracket expression. The question mark and asterisk have no special meaning in a bracket expression. Each bracket expression ends by the right bracket and matches exactly one character. Some examples follow: [a-zA-Z0-9] or [f-gF-G] - character interval [abc] - character enumeration [^abc] or [!abc] - negation [[:name:]] class expression. Supported classes are alnum,lower, space, alpha, digit, print, upper, blank, graph, xdigit. [][-!^] - special case - matches only '-', ']', '[', '!' or '^'. These characters have no special purpose. [\[\]\\] - escape syntax. Matches '[', ']' or '\'. Using the rules above, a file name pattern can be con- structed: ftp://example.com/some/path/[a-z[:upper:]\\].jpeg PROTOCOLS This feature is only supported for FTP download. EXAMPLE /* initialization of easy handle */ handle = curl_easy_init(); /* turn on wildcard matching */ curl_easy_setopt(handle, CURLOPT_WILDCARDMATCH, 1L); /* callback is called before download of concrete file started */ curl_easy_setopt(handle, CURLOPT_CHUNK_BGN_FUNCTION, file_is_coming); /* callback is called after data from the file have been transferred */ curl_easy_setopt(handle, CURLOPT_CHUNK_END_FUNCTION, file_is_downloaded); /* See more on https://curl.se/libcurl/c/ftp-wildcard.html */ AVAILABILITY Added in 7.21.0 RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. ATTRIBUTES See attributes(7) for descriptions of the following attributes: +---------------+------------------+ |ATTRIBUTE TYPE | ATTRIBUTE VALUE | +---------------+------------------+ |Availability | web/curl | +---------------+------------------+ |Stability | Uncommitted | +---------------+------------------+ SEE ALSO CURLOPT_FNMATCH_FUNCTION(3), CURLOPT_URL(3), NOTES Source code for open source software components in Oracle Solaris can be found at https://www.oracle.com/downloads/opensource/solaris-source- code-downloads.html. This software was built from source available at https://github.com/oracle/solaris-userland. The original community source was downloaded from https://curl.se/down- load/curl-7.83.1.tar.bz2. Further information about this software can be found on the open source community website at http://curl.haxx.se/. libcurl 7.83.1 January 05, 2022 CURLOPT_WILDCARDMATCH(3)