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 или полном или относительном пути к файлу. Сертификаты, содержавшиеся в этом файле, используются, чтобы подтвердить сертификаты сервера для связей HTTPS. Поскольку безопасность связей HTTPS зависит от целостности этого файла, защитите его соответственно. MATLAB не управляет сертификатами или файлами сертификата, но существуют сторонние программы, доступные для управления файлы PEM.

По умолчанию, когда weboptions объект не задан, MATLAB подтверждает сертификаты сервера с помощью обеспеченного системой хранилища сертификатов. Это - также поведение если CertificateFilename установлен в 'default'.

Если CertificateFilename isempty), затем валидация сертификата сервера выключена. MATLAB только проверяет что доменное имя соответствий сертификата сервера тот из сервера.

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

Если вы сталкиваетесь с проблемой связи, рассматриваете следующее:

  • Для или отменяемого сертификата сервера с истекшим сроком свяжитесь с владельцем веб-сайта или администратором сервера.

  • Для недостающего Корневого сертификата CA можно выбрать одно из следующего:

    • Добавьте Корневой сертификат CA файлу, обозначенному CertificateFilename.

    • Отключите валидацию сертификата установкой CertificateFilename опустеть ('').

  • Для несоответствия между доменным именем сертификата сервера и доменным именем сервера, можно отключить эту валидацию путем создания matlab.net.http.RequestMessage объект и установка matlab.net.http.HTTPOptions.VerifyServerName свойство к false.

Примечание

Эти опции являются временными обходными решениями, и MathWorks строго рекомендует, чтобы вы разрешили первопричину любого отказа валидации сертификата сервера при помощи допустимого/правильного сертификата сервера.

Атрибуты:

GetAccess

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

SetAccess

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

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

| | | |

Введенный в R2014b