matlab.net.URI class

Пакет: matlab.net

Унифицированный идентификатор ресурса (URI)

Описание

matlab.net.URI класс создает интернет-унифицированный идентификатор ресурса (URI), такой как веб-адрес или URL. Интернет-URI является строкой, разделенной на компоненты. Каждый компонент представлен свойством URI класс. Следующий текст показывает свойства и их связанную пунктуацию, разделенную пробелами для ясности. Пробелы не появляются в закодированном URI. Связанная пунктуация не является частью значения свойства.

Scheme: //Authority /Path(1) /Path(2) ... /Path(end) ?Query #Fragment

где Authority содержит эти свойства:

UserInfo@ Host :Port

Используйте matlab.net.URI string или char методы, чтобы создать интернет-URI. Эти методы кодируют свойства путем добавления пунктуации в непустые свойства и путем выхода из зарезервированных символов.

Все свойства являются дополнительными. Однако различное использование может потребовать, чтобы были установлены определенные свойства.

Чтобы устранить свойство и его пунктуацию от выводимой строки, установите значение свойства на [].

Конструкция

obj = matlab.net.URI создает пустой URI.

пример

obj = matlab.net.URI(destination) создает URI, заданный destination.

пример

obj = matlab.net.URI(destination,queryVector) устанавливает Query свойство к queryVector. Query значения добавлены к любым параметрам запроса, уже заданным в destination.

obj = matlab.net.URI(destination,queryName,queryValue) добавляет один или несколько queryNamequeryValue параметры к Query свойство.

obj = matlab.net.URI(destination,queryVector,queryName,queryValue) добавляет queryVector и queryNamequeryValue параметры к Query свойство.

obj = matlab.net.URI(___,format) задает формат выхода, когда массив появляется в queryValue аргумент. Можно комбинировать с любым синтаксом из перечисленных выше.

obj = matlab.net.URI(___,'literal') указывает на тот destination уже закодирован. Используйте эту опцию, если вы копируете и вставляете уже закодированный URI, например, от строки поиска браузера. Когда вы читаете свойства этого URI непосредственно, вы видите декодируемую версию. 'literal' опция не разрешает вам создавать недопустимый URI. Это предотвращает перекодирование '%' 'characters'. Символы, которые должны всегда кодироваться, такие как '\' и ' ' в Host или Path, все еще закодированы процентом.

Эта опция не оказывает влияния на Query (matlab.net.QueryParameterАргументы.

Входные параметры

развернуть все

Место назначения, заданное как строка или вектор символов, задающий URI или фрагменты одного или matlab.net.URI объект. Если destination matlab.net.URI объект, затем destination должен быть единственный аргумент.

Пример: https://user:pwd@www.mathworks.com:8000/product/matlab?abc=def&this=that#xyz Все свойства

Пример: свойства Host и Scheme: https://www.mathworks.com

Пример: HostOnly : //www.mathworks.com

Пример: хост и путь: //www.mathworks.com/products/matlab/

Пример: Путь только: products/matlab/live-editor

Пример: разместите и запросите: //www.mathworks.com/search/site_search.html?q=weboptions

Запросите свойство, заданное как вектор matlab.net.QueryParameter объекты. Запрос имеет форму:

name1=value1&name2=value2&name3=value3

Пример: matlab.net.QueryParameter('hl','en','ie','utf8','num',50)

Имя запроса, заданное как строка или вектор символов. Веб-сервис задает queryNamequeryValue пары, которые это принимает как часть запроса. Не кодируйте символы в queryName.

Запросите значение, заданное как символьный массив, или числовое, логическое, или datetime значение или массив. Не кодируйте символы в queryValue.

Выходной формат, заданный как matlab.net.ArrayFormat возразите, когда массив появится в queryValue аргумент. Для позволенных значений смотрите ArrayFormat.

format аргумент не влияет на формат значений в queryVector аргумент.

Свойства

развернуть все

Схема URI, иногда названная протоколом, появляясь перед :// символы, заданные как строка или вектор символов. Scheme всегда возвращает строку. Если не пустой, то Scheme должен быть http или https. Однако это соглашение не осуществляется. MATLAB® не поддерживает другие схемы, такие как file.

Пример: http

Пример: https

Информация пользователя, указанная как строка или вектор символов. UserInfo появляется перед Host свойство сопровождается @ символ. string процент метода - кодирует специальные символы. Когда установка UserInfo, не кодируйте значение.

Пример: name

Пример: name:password

Имя хоста, заданное как строка или вектор символов. Значение находится в формате Системы доменных имен (DNS) или как адрес версии 4 (IPv4) или версии 6 (IPv6) межсетевого протокола. string процент метода - кодирует символы, которые не позволены в части, относящейся к хосту URI. Символы точки (.) неизменны. Когда установка Host, не кодируйте значение.

Пример: www.mathworks.com

Пример: 2222:7344:0db8:0000:0100:8a2e:0370:85a3 Адрес IPv6

Номер порта, заданный как номер, или как строка или вектор символов, представляющий номер в области значений 0–65535, сохраненный как uint16.

Пример: 8000

Сегменты пути, заданные как вектор строки или строки или как вектор символов или массив ячеек из символьных векторов. Результатом всегда является вектор строк. Чтобы видеть значение закодированного пути, используйте EncodedPath свойство.

Путь в URI задан EncodedPath свойство. EncodedPath серия сегментов, разделенных / символ, где каждый из тех сегментов является членом Path.

Path(1)/Path(2)/Path(3)/.../Path(end)

/ символы не появляются в Path, но EncodedPath содержит их. Например,

uri = matlab.net.URI;
uri.Path = {'products' 'matlab'};
P = uri.Path
P = 
    "products"    "matlab"
EP = uri.EncodedPath
EP = products/matlab

Если вы устанавливаете Path к вектору символов или скалярной строке, которая содержит / символ, затем значение разделено в сегменты в / 'characters'. Результат совпадает с определением вектора строк или массива ячеек из символьных векторов.

uri.Path = 'products/matlab';
P = uri.Path
P = 
    "products"    "matlab"

Всегда существует еще один Path сегмент, чем количество / символы в EncodedPath. Любой сегмент может быть пустой строкой. Если Path(1) пустая строка, затем EncodedPath начинается с /. Если Path(end) пустая строка, затем EncodedPath endsWith.

uri.Path = '/products/matlab/';
EP = uri.EncodedPath
EP = /products/matlab/

Когда установка Path к нескалярному массиву строк или массиву ячеек, символы, не позволенные во фрагменте пути URI, закодированы процентом в EncodedPath. Включать # символ,

uri.Path = {'foo#bar'};EP = uri.EncodedPath
EP = foo%23bar

Не кодируйте # символ. Если вы делаете, то закодированные символы закодированы снова.

uri.Path = {'foo%23Fbar'};
EP = uri.EncodedPath
EP = foo%2523Fbar

Path может быть относительным или абсолютным. Абсолютный путь один больше чем с одним сегментом, первый сегмент которого пуст. Это закодировано как строка, начинающаяся с / символ сопровождается второй строкой. Это определение абсолютного пути соответствует path-absolute, заданный в разделе RFC 3986 3.3. Относительный путь является тем, первая строка которого непуста. Это закодировано без ведущего /. Например, создайте абсолютный путь:

uri1 = matlab.net.URI;
uri1.Path = {'' 'products' 'matlab'};
EP = uri1.EncodedPath
EP = /products/matlab

Создайте относительный путь:

uri2 = matlab.net.URI;
uri2.Path = {'products' 'matlab'};
EP = uri2.EncodedPath
EP = products/matlab

Если URI содержит Scheme, HostUserInfo или Port свойство и Path не пусто, затем EncodedPath имеет ведущий /. / символ разделяет Path из других свойств. Поэтому различие между абсолютными и относительными путями существует только для URIs, которые не содержат Scheme, HostUserInfo , или Port свойства. Например, uri1 абсолютный путь.

uri1.EncodedPath
ans = /products/matlab

Установите Host:

uri1.Host = 'www.mathworks.com';
disp(string(uri1))
//www.mathworks.com/products/matlab

Установите Host из относительного пути uri2:

uri2.EncodedPath
ans = products/matlab
uri2.Host = 'www.mathworks.com';
disp(string(uri2))
//www.mathworks.com/products/matlab

Чтобы создать URI с путем, который указывает на корень, устанавливает Path к string.empty или ["" ""].

uri.Path = {'products' 'matlab' ''};
EP = uri.EncodedPath
EP = products/matlab/

Установить Path к папке добавьте пустую строку в конец вектора. Это соглашение добавляет запаздывающий / к EncodedPath.

uri.Path = {'products' 'matlab' ''};
EP = uri.EncodedPath
EP = products/matlab/

Запрос URI, заданного как вектор matlab.net.QueryParameter объекты или строка, содержащая закодированный запрос с дополнительным ведущим ? символ.

Направление к вторичному ресурсу, заданному как строка или вектор символов. string процент метода - кодирует символы, которые не позволены во фрагменте фрагмента URI. Когда установка Fragment, не кодируйте значение.

Пример: в URI https://www.mathworks.com/help/matlab/ref/weboptions.html#examples, Fragment свойством является examples.

Является ли URI абсолютным, задан как true или false. Абсолютный URI имеет непустой Scheme свойство. Если URI не является абсолютным, то это относительно. Для определения absolute-URI, смотрите Унифицированный идентификатор ресурса (URI) RFC 3986: Типовой Синтаксис — Раздел 4,3 Абсолютных URI.

Path свойство в абсолютном URI всегда обрабатывается как абсолютный путь и EncodedPath свойство всегда содержит ведущий / символ. Чтобы отправить сообщение, URI должен быть абсолютным и должен также содержать непустой Host свойство.

Типы данных: логический

Закодированный фрагмент полномочий URI, заданного как строка или вектор символов со связанным появлением пунктуации, только если свойство непусто. Формат EncodedAuthority UserInfo@HostПорт. Установка EncodedAuthority ярлык установке UserInfo, Host, и Port свойства, за исключением того, что необходимо закодировать специальные символы.

Пример: в URI https://user:pwd@www.mathworks.com:8000/product/matlab?abc=def&this=that#xyz, EncodedAuthority свойством является user:pwd@www.mathworks.com:8000.

Закодированный путь, заданный как строка или вектор символов. Считайте это свойство получить Path свойство как закодированная строка, как это появилось бы в закодированном URI. Если у вас есть уже закодированный путь как строка, то установленный EncodedPath свойство вместо Path свойство предотвратить далее кодирование. При чтении EncodedPath, это имеет ведущий / если Path не [] и существуют непустые компоненты в URI перед Path.

Установка EncodedPath к пустому массиву ('', [] или string.empty) эквивалентно установке Path к тому значению.

Если нет никакого Path свойство в закодированном URI, затем EncodedPath возвращает пустую строку, "". Однако EncodedPath никогда не пустой массив.

Пример: в URI https://www.mathworks.com/solutions/robotics, EncodedPath свойством является /solutions/robotics.

Закодированный запрос, заданный как строка или вектор символов. EncodedQuery возвращает то же значение как вызов string метод на Query свойство. Установка EncodedQuery эквивалентно установке Query свойство.

Пример: в URI https://www.mathworks.com/support/search_results.html?q=+weboptions+product:"MATLAB+Compiler", EncodedQuery свойством является q=+weboptions+product:%22MATLAB+Compiler%22.

Целый закодированный URI, заданный как строка или вектор символов. EncodedURI возвращает то же значение как matlab.net.URI.string метод. Установка EncodedURI эквивалентно вызову URI конструктор с 'literal' аргумент.

Методы

Эти методы реализуют эквивалентную функциональность MATLAB для этого класса.

eq

Сравните URIs для равенства. Два URIs рассматриваются равными, если они обращаются к тому же ресурсу. Пустая строка или пустой Path свойство рассматривается равным [].

char

URI как вектор символов

string

URI как строка

Примеры

свернуть все

Создайте URI.

U = matlab.net.URI('https://www.mathworks.com');
U.Query = matlab.net.QueryParameter('q','weboptions');
U.Path = 'search/site_search.html';

Отобразите результаты поиска, содержащие weboptions.

 web(char(U))
U = matlab.net.URI('//www.mathworks.com/products/simulink/');
U.EncodedURI
ans = 

  string

    "//www.mathworks.com/products/simulink/"

Введенный в R2017b