Синтаксис
filename = getURL(URL); [filename, [content]] = getURL(URL [, targetDir [, username [, password]]]]); [filename, [content]] = getURL(URL [, targetFile [, username [, password]]]]);
Аргументы
- URL
строка: ссылка URL. Поддерживаются и тестируются: HTTP, HTTPS, FTP (IPv4 и IPv6)
- targetDir
Необязательный строковый параметр: указывает в какой директории будет сохранён файл (если пустой, то текущая директория)
- targetFile
Необязательный строковый параметр: указывает где (и под каким именем) данный файл будет сохранён (если пустой, то текущая директория)
- username
Необязательный строковый параметр: имя пользователя для вебсайтов, которые запрашивают аутентификацию
- password
Необязательный строковый параметр: пароль для вебсайтов, которые запрашивают аутентификацию
- filename
строка: путь до загруженного файла
- content
строка: содержимое загруженного файла
Описание
Загрузка файла по ссылке URL.
Функция getURL
загрузит файл по удалённой ссылке URL.
Однако, в некоторых обстоятельствах (например,
https://www.scilab.org/), имя файла
не предоставляется самой ссылкой URL и getURL
переименует файл в index.html.
content
содержит содержимое страницы, указанной в URL.
Эта функция основана на библиотеке curl.
username
and password
могут быть
определены для тех вебсайтов, которые запрашивают аутентификацию.
Используемый метод аутентификации CURLAUTH_ANY
,
указываемый параметром CURLOPT_HTTPAUTH
библиотеки
libcurl
.
getURL
поддерживает IPv6 (и, очевидно, IPv4) по умолчанию.
В этой версии доступна настройка прокси, она может быть изменена в настройках в разделе "Интернет".
Опция curl CURLOPT_FOLLOWLOCATION активируется для того, чтобы убедиться в загрузке по ссылке URL.
getURL
основана на libcurl. Версия этой библиотеки в официальном двоичном файле Scilab, скомпилированным с поддержкой HTTP, HTTPS, FTP и FTPS. Если Scilab установлен через систему пакетов в дистрибутиве, вероятно, что будут работать и иные протоколы, а не только HTTP, HTTPS и FTPS. Однако, они недостаточно протестированы.
Примеры
// Будет загружен URL с именем файла maths_simulation getURL("https://www.scilab.org/products/scilab/features/maths_simulation"); // Сохранить домашнюю страницу Scilab в текущей директории (и переименуем файл) getURL("https://www.scilab.org","scilab_homepage.html"); // Загрузка примера Scilab и исполнение его myFile = getURL("https://fileexchange.scilab.org/toolboxes/contour3d/10.03/files/contour3d.sci",TMPDIR) exec(myFile); contour3d(); // Используем аутентификацию getURL("http://httpbin.org/basic-auth/user/passwd",TMPDIR+"/testfile.html","user","passwd") // Необходимо подключение IPv6 getURL("http://ipv6.google.com/intl/en_com/images/srpr/logo3w.png") // Получение контента [myFile, content] = getURL("https://fileexchange.scilab.org/toolboxes/contour3d/10.03/files/contour3d.sci",TMPDIR)
Смотрите также
- url_split — разбивает ссылку URL (HTTP, HTTPS, FTP...)
История
Версия | Описание |
5.5.0 | Введена функция getURL() |
2023.1.0 | Tagged obsolete and will be removed in Scilab 2025.0.0. |
Report an issue | ||
<< getmd5 | Файлы: функции ввода/вывода | hash >> |