weboptions

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

Описание

пример

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

пример

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

Примеры

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

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

options = weboptions
options = 

  weboptions with properties:

      CharacterEncoding: 'auto'
              UserAgent: 'MATLAB 9.7.0.1112323 (R2019b)'
                Timeout: 5
               Username: ''
               Password: ''
                KeyName: ''
               KeyValue: ''
            ContentType: 'auto'
          ContentReader: []
              MediaType: 'auto'
          RequestMethod: 'auto'
            ArrayFormat: 'csv'
           HeaderFields: []
    CertificateFilename: 'default'

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

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

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

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

options.Password
ans = 
'mypassword'

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

свернуть все

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

Задайте дополнительные разделенные запятой пары Name,Value аргументы. 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.

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

Приведите к таймауту длительности связи в секундах, заданных в виде положительного числа. Значение является номером секунд, чтобы ожидать, чтобы получить начальный ответ (заголовок) от сервера после отправки последнего пакета запроса. Timeout эквивалентно свойству ResponseTimeout в matlab.net.http.HTTPOptions класс. Максимальное значение составляет 2 147,483647 секунд. Используйте Inf устанавливать максимальное значение.

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

Идентификатор пользователя, заданный как скаляр строки или вектор символов для основного и/или Аутентификации HTTP обзора (никакое шифрование). Для получения информации об Основной Схеме HTTP-аутентификации см. https://tools.ietf.org/html/rfc7617. Для получения информации об Аутентификации доступа Обзора HTTP см. https://tools.ietf.org/html/rfc7616.

Пароль аутентификации пользователя, заданный как скаляр строки или вектор символов для основного и/или Аутентификации 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} его значение.

Эти поля заголовка добавляют к или заменяют поля, автоматически добавленные webreadwebwrite, или 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' для использования с webreadwebwrite, и websave функции.

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

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

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

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

Пример: weboptions('RequestMethod','post') создает weboptions объект, который сообщает webreadwebsave, или 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 объект, который сообщает webreadwebsave, или webwrite чтобы сформироваться - кодируют любой запрос или отправляют значение с несколькими значениями как повторяющий параметры запроса.

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

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

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

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

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

Атрибуты:

GetAccess

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

SetAccess

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

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

| | | |

Введенный в R2014b

Для просмотра документации необходимо авторизоваться на сайте