weboptions

Задайте параметры для веб-сервиса RESTful

Синтаксис

options = weboptions
options = weboptions(Name,Value)

Описание

пример

options = weboptions возвращает объект weboptions по умолчанию задать параметры для запроса к веб-сервису. Объект weboptions может быть дополнительным входным параметром к webread, websave и функциям webwrite. Для опций, не поддержанных функцией weboptions, смотрите Интерфейс HTTP.

пример

options = weboptions(Name,Value) задает одно или несколько свойств объекта weboptions.

Примеры

Значение по умолчанию weboptions Объект

Создайте объект weboptions по умолчанию и отобразите значения по умолчанию для его свойств.

options = weboptions
options = 
  weboptions with properties:

      CharacterEncoding: 'auto'
              UserAgent: 'MATLAB 9.2.0.556344 (R2017a)'
                Timeout: 5
               Username: ''
               Password: ''
                KeyName: ''
               KeyValue: ''
            ContentType: 'auto'
          ContentReader: []
              MediaType: 'application/x-www-form-urlencoded'
          RequestMethod: 'auto'
            ArrayFormat: 'csv'
           HeaderFields: []
    CertificateFilename: 'C:\Program Files\MATLAB\R2017a\sys\certificates\ca\rootcerts.pem'

Имя пользователя и пароль в Объекте weboptions

Установите свое имя пользователя и пароль веб-сервиса в объекте weboptions. Можно использовать объект в качестве входного параметра к webread, websave или webwrite, когда веб-сервис требует аутентификации.

options = weboptions('Username','jdoe','Password','mypassword');

Пароль затенен, когда вы отображаете объект weboptions. Однако объектно-ориентированная память пароль как простой текст. Можно получить пароль из свойства weboptions.Password.

options.Password
ans = 
'mypassword'

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

свернуть все

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: weboptions('Timeout',60) создает объект weboptions, который устанавливает длительность связи тайм-аута на 60 секунд.

Кодирование, используемое webread, чтобы преобразовать веб-контент в символы, заданные как скаляр строки или вектор символов. Общая кодировка включает 'US-ASCII', 'UTF-8', 'latin1', 'Shift_JIS', and'ISO-8859-1'. Кодировка по умолчанию зависит от типа контента. Если вы получаете искаженный текст, то кодирование webread может отличаться от кодирования, используемого документом. Попробуйте установку CharacterEncoding к UTF-8.

Идентификация агента пользователя, заданная как скаляр строки или вектор символов, указывающий на агент пользователя клиента.

Приведите к таймауту длительности связи в секундах, заданных в виде положительного числа. Максимальное значение составляет 2 147,483647 секунд. Используйте Inf, чтобы установить максимальное значение.

Некоторым операционным системам осуществила максимальный тайм-аут система. Этот тайм-аут вступает в силу, даже если значение Timeout больше, чем максимум. Например, на Windows® 10, этот тайм-аут составляет 21 секунду.

Идентификатор пользователя, заданный как скаляр строки или вектор символов для основной Аутентификации HTTP (никакое шифрование).

Пароль аутентификации пользователя, заданный как скаляр строки или вектор символов для основной Аутентификации HTTP (никакое шифрование). Если вы отображаете объект weboptions с набором свойств Password, значение отображено как вектор символов, содержащий '*'. Однако объектно-ориентированная память значение свойства Password как простой текст.

Имя ключа, заданного как скаляр строки или вектор символов. KeyName является дополнительным именем, чтобы добавить к заголовку запроса HTTP. Например, KeyName может быть именем ключа API веб-сервиса.

Пример: weboptions('KeyName','duration','KeyValue',7) создает объект weboptions, который содержит ключевое имя, duration, заданный веб-сервисом.

Значение ключа, заданного как скаляр строки, вектор символов или числовое или логическое значение, чтобы добавить к HTTP, запрашивает заголовок. KeyValue является значением ключа, заданного KeyName.

Пример: weboptions('KeyName','duration','KeyValue',7) создает объект weboptions, который содержит значение ключа, 7, соединенный с ключевым именем, duration.

Имена и значения полей заголовка, заданных как m-2 массив строк или массива ячеек из символьных векторов, чтобы добавить к HTTP, запрашивают заголовок. HeaderFields{i,1} является именем поля, и HeaderFields{i,2} является своим значением.

Эти поля заголовка добавляют к или заменяют поля, автоматически добавленные webread, webwrite или websave. Обычно эти поля добавляются, но если бы имя одного из этих полей является нечувствительным к регистру соответствием к одному из полей, которые были бы автоматически добавлены, и то поле не поддерживает несколько значений (например, Тип контента), затем значение, которое вы задаете, используется вместо этого. Некоторые поля, значение которых необходимо, чтобы отправить запрос успешно, такой как Связь и Довольная Длина, не могут быть заменены.

Пример: weboptions('HeaderFields',{'Content-Length' '78';'Content-Type' 'application/json'}) создает объект weboptions, который содержит два поля заголовка: Content-Length со значением 78 и Content-Type со значением application/json.

Тип контента, заданный как скаляр строки или вектор символов. Используйте ContentType, чтобы запросить, чтобы сервер предпочтительно возвратил данные в конкретном формате. webread использует это значение, чтобы преобразовать ответ на тип MATLAB®. Сервер возвращает этот тип контента, если это возможно, но не обязан сделать так.

Спецификатор ContentType

'OutputType'

'auto' (значение по умолчанию)

Выведите тип, автоматически определенный на основе типа контента, заданного сервером.

'text'

Вектор символов для типов контента:

text/plain
text/html
text/xml
application/xml
application/javascript
application/x-javascript
application/x-www-form-urlencoded

Если веб-сервис возвращает файл MATLAB с расширением .m, функция возвращает свое содержимое как вектор символов.

'image'

Числовая или логическая матрица для содержимого image/format. Если первым выходным аргументом является индексируемое изображение, вторым выходным аргументом является палитра, и третьим выходным аргументом является альфа-канал.

Для поддерживаемых форматов изображения смотрите Поддерживаемые Форматы файлов для Импорта и Экспорта.

'audio'

Числовая матрица для содержимого audio/format с уровнем выборки числового скаляра как второй выходной аргумент.

Для поддерживаемых форматов аудио смотрите Поддерживаемые Форматы файлов для Импорта и Экспорта.

'binary'

Вектор-столбец uint8 для бинарного содержимого (то есть, содержимое, которое не будет обработано как тип char).

'table'

Скалярный объект таблицы для электронной таблицы и CSV (text/csv) содержимое.

'json'

char, числовой, логический, структура или массив ячеек, для содержимого application/json.

'xmldom'

Java® Document Object Model (DOM) узел для text/xml или содержимого application/xml. Если не заданный, функция возвращает содержание XML как вектор символов.

'raw'

Вектор-столбец char для 'text', 'xmldom' и содержимого 'json'. Функция возвращает любой другой тип контента как вектор-столбец uint8.

Пример: weboptions('ContentType','text') создает объект weboptions, который дает команду webread возвращать текст, JSON или содержание XML как вектор символов.

Читатель содержимого, заданный как указатель на функцию. Можно создать объект weboptions с ContentReader, заданным, и передать объект как входной параметр к webread. Затем webread загружает данные из веб-сервиса и считывает данные с функцией, заданной указателем на функцию. webread игнорирует ContentType, когда ContentReader задан.

Пример: weboptions('ContentReader',@readtable) создает объект weboptions, который дает команду webread использовать readtable, чтобы считать содержимое как таблицу.

Тип носителя, заданный как скаляр строки, вектор символов или объект matlab.net.http.MediaType. MediaType задает тип данных, которые webwrite отправляет в веб-сервис. Это задает тип контента, который MATLAB задает к серверу, и это управляет, как аргумент webwrite data, если задано, преобразован.

Для полного списка типов носителей смотрите интернет-Типы носителей.

Значением по умолчанию является 'auto', который указывает, что MATLAB выбирает тип на основе входа к webwrite. При использовании пар аргумента PostName/PostValue затем MATLAB использует 'application/x-www-form-urlencoded', чтобы отправить пары. При использовании аргумента data, который является скалярной строкой или вектором символов, затем MATLAB принимает, что это - закодированная формой строка и отправляет ему как есть использование 'application/x-www-form-urlencoded'. Если data - что-либо еще, то MATLAB преобразовывает его в JSON использование jsonencode и использует тип контента 'application/json'.

Если вы задаете MediaType, содержащий 'json' или 'javascript', и data является вектором символов, то это отправляется как есть. Все другие типы, включая скалярные строки, преобразованы с помощью jsonencode.

Если вы задаете 'application/x-www-form-urlencoded', то пары PostName/PostValue отправляются закодированные формой. data, если есть должна быть строка или вектор символов, который будет отправлен как есть.

Если вы задаете MediaType, который содержит 'xml', и data является объектом Document Object Model (Java org.apache.xerces.dom.DocumentImpl), то это преобразовано в XML. data, если есть должна быть строка или вектор символов, который будет отправлен как есть.

Если вы задаете какой-либо другой MediaType, и data является строкой или вектором символов, то weboptions отправляет значение как есть.

Пары PostName/PostValue приняты только для значений MediaType 'auto' и 'application/x-www-form-urlencoded', и векторы символов всегда отправляются как есть независимо от MediaType.

Можно задать разделенные от точки с запятой параметры name=value в строке MediaType, например, 'application/json; odata=verbose'. Некоторые серверы требуют этого формата как части поля заголовка Типа контента в запросе.

Пример: weboptions('MediaType','application/json') создает объект weboptions, который дает команду webwrite кодировать данные о векторе символов как JSON, чтобы отправить его на веб-сервис.

Метод запроса HTTP, заданный как скаляр строки, вектор символов или перечисление matlab.net.http.RequestMethod как одно из этих значений:

  • 'auto'

    • webread и websave используют метод GET HTTP.

    • webwrite использует метод POST HTTP.

  • 'get' для использования с webread и функциями websave.

  • 'post' для использования с webread, webwrite и функциями websave.

  • 'put' для использования с webread, webwrite и функциями websave.

  • 'delete' для использования с webread, webwrite и функциями websave.

  • 'patch' для использования с webread, webwrite и функциями websave.

webread и функции websave помещают запрос в URL независимо от RequestMethod. webwrite помещает запрос в данные независимо от RequestMethod.

Пример: weboptions('RequestMethod','post') создает объект weboptions, который дает команду webread, websave или webwrite использовать метод POST HTTP веб-сервиса.

Формат, чтобы сформироваться - кодирует запрос или отправляет значения, которые представляют несколько значений, заданных как 'csv', 'json', 'repeating' или 'php'. Значение запроса или сообщения содержит несколько значений, если это

  • Числовое, логическое, или вектор datetime

  • Символьный массив больше чем с одной строкой

  • Вектор ячейки, где каждый элемент является числовым, логическим, или скаляр datetime или вектор символов с одной строкой

Никакие другие типы данных или размерности не поддерживаются.

Эта таблица показывает закодированные формой преобразования для каждого формата для параметра запроса под названием 'parameter' и значение запроса [1 2 3]. Веб-сервис задает преобразование в использование.

Спецификатор ArrayFormat

Закодированное формой преобразование

'csv' (значение по умолчанию)

parameter=1,2,3

'json'

parameter=[1,2,3]

'repeating'

parameter=1&parameter=2&parameter=3

'php'

parameter[]=1&parameter[]=2&parameter[]=3

Чтобы закодировать скаляр как массив с одним элементом с 'json' или спецификаторами 'php', поместите скаляр в массив ячеек с одним элементом.

Пример: weboptions('ArrayFormat','repeating') создает объект weboptions, который сообщает webread, websave, или webwrite, чтобы сформироваться - кодирует любой запрос или отправляет значение с несколькими значениями как повторяющий параметры запроса.

Имя файла корневых сертификатов, заданных как строка или вектор символов, обозначающий местоположение файла, содержащего сертификаты. Файл находится в формате почты с усовершенствованной защитой (PEM). Местоположение должно быть в текущей папке в папке на пути MATLAB или полном или относительном пути к файлу. Если вы задаете значение 'default', то CertificateFilename установлен в путь файла сертификата, который поставляется с MATLAB. Чтобы определить путь, создайте пустой объект weboptions или HTTPOptions и посмотрите на значение по умолчанию CertificateFilename.

Если вы запрашиваете связь HTTPS, то сертификат с сервера подтвержден против сертификатов сертифицирующего органа в файле PEM. Стандартные механизмы HTTPS используют эту валидацию, чтобы подтвердить подпись на сертификате сервера и целой цепочке сертификата. Если верификация перестала работать, связь не позволена. Можно отключить верификацию в случаях, где сертификат сервера не соответствует, URI раньше получал доступ к нему путем создания matlab.net.http.RequestMessage и установки свойства matlab.net.http.HTTPOptions.VerifyServerName на false. Используйте эту опцию, если вы уверены, что связываетесь непосредственно с намеченным сервером.

Чтобы добавить сертификаты rootcerts.pem, скопируйте файл в рабочую папку, отредактируйте файл и добавьте ваши сертификаты ему. Файлами PEM являются ASCII-файлы, которые легко изменяются. Поскольку безопасность связей HTTPS зависит от целостности этого файла, защитите его соответственно. MATLAB не управляет сертификатами или файлами сертификата, но существуют сторонние программы для управления файлы PEM.

Если CertificateFilename пуст, то MATLAB проверяет, совпадает ли область сертификата сервера с именем хоста сервера и что это не истекает. Подпись не подтверждена.

Установите CertificateFilename на пустой (''), только если вы не можете установить связь из-за отсутствия или истекли сертификат.

Атрибуты:

GetAccess

общественность

SetAccess

общественность

Смотрите также

| | | |

Введенный в R2014b