Syntax
filename = getURL(URL); [filename, [content]] = getURL(URL [, targetDir [, username [, password]]]]); [filename, [content]] = getURL(URL [, targetFile [, username [, password]]]]);
Arguments
- URL
String: An URL. Supported and tested: HTTP, HTTPS, FTP (IPv4 and IPv6)
- targetDir
String optional parameter: In which directory the file will be stored (current directory if empty)
- targetFile
String optional parameter: Where (and under which name) the file will be stored (current directory if empty)
- username
String optional parameter: Username for the websites which require authentication
- password
String optional parameter: Password for the websites which require authentication
- filename
String: The path to the downloaded file
- content
String: The content to the downloaded file
Description
Download a file from an URL
getURL will download a file from a remote URL. By default, getURL will use the same name as provided in the URL. However, under some circumstances (for example, https://www.scilab.org/), the filename is not provided by the URL itself, getURL will rename the file to index.html
content contains the content of a page pointed by an URL.
This function is based on the curl library.
Username and Password can be specified for the websites which required authentication. The authentication method used is the CURLAUTH_ANY provided by CURLOPT_HTTPAUTH parameter of the libcurl library.
IPv6 (and obviously IPv4) are supported out-of-the box by getURL.
Proxy configuration is enabled in this version, it can be modified in the Preferences under the rubric "Internet".
The CURLOPT_FOLLOWLOCATION curl option is activated to make sure the download follow the URL.
getURL
is based on libcurl. The version of this library in the official Scilab binary has been compiled with HTTP, HTTPS, FTP and FTPS support. If Scilab has been installed through a packaging system in a distribution, it is likely that other protocols than HTTP, HTTPS and FTPS will work. However, they have not been tested enough.
Examples
// Will download the URL and name the file maths_simulation getURL("https://www.scilab.org/products/scilab/features/maths_simulation"); // Save the Scilab homepage in the current directory (and rename the file) getURL("https://www.scilab.org","scilab_homepage.html"); // Download a Scilab example and execute it myFile = getURL("https://fileexchange.scilab.org/toolboxes/contour3d/10.03/files/contour3d.sci",TMPDIR) exec(myFile); contour3d(); // Use authentication getURL("http://httpbin.org/basic-auth/user/passwd",TMPDIR+"/testfile.html","user","passwd") // Needs IPv6 connectivity getURL("http://ipv6.google.com/intl/en_com/images/srpr/logo3w.png") // Retrieve the content [myFile, content] = getURL("https://fileexchange.scilab.org/toolboxes/contour3d/10.03/files/contour3d.sci",TMPDIR)
See also
- splitURL — Split an URL (HTTP, HTTPS, FTP...)
History
Version | Description |
5.5.0 | Function getURL() introduced |
2023.1.0 | Tagged obsolete and will be removed in Scilab 2025.0.0. |
Report an issue | ||
<< fscanfMat | Files : Input/Output functions | getmd5 >> |