Укажите параметры для веб-сервиса RESTful
options = weboptions
возвращает значение по умолчанию weboptions
объект, чтобы задать параметры для запроса к веб-сервису. A weboptions
объект может быть необязательным входным параметром в webread
, websave
, и 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
объект. Можно использовать объект как входной параметр для webread
, websave
, или 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 секунд.'CharacterEncoding'
- Кодировка символов'auto'
(по умолчанию) | строковый скаляр | символьный векторКодировка, используемая webread
для преобразования веб- содержимого в символы, заданные как строковый скаляр или вектор символов. Общие кодировки включают 'US-ASCII'
, 'UTF-8'
, 'latin1'
, 'Shift_JIS'
, и 'ISO-8859-1'
. Кодировка по умолчанию зависит от типа контента. Если вы получаете сморщенный текст, то webread
кодирование может отличаться от кодирования, используемого документом. Попробуйте задать CharacterEncoding
на UTF-8
.
'UserAgent'
- Идентификация агента пользователя['MATLAB ' version]
(по умолчанию) | строковый скаляр | символьный векторИдентификация агента пользователя, заданная как строковый скаляр или вектор символов, указывающий на агента пользователя клиента.
'Timeout'
- Длительность тайм-аута соединенияInf
Длительность тайм-аута соединения в секундах, заданная как положительный числовой скаляр. Значение представляет собой количество секунд, которое нужно подождать, чтобы получить начальный ответ (заголовок) от сервера после отправки последнего пакета запроса. Timeout
эквивалентно свойству ResponseTimeout в matlab.net.http.HTTPOptions
класс. Максимальное значение - 2147.483647 секунд. Использование Inf
для установки максимального значения.
Некоторые операционные системы имеют максимальное время ожидания, установленное системой. Это тайм-аут вступает в эффект, даже если значение Timeout
больше максимального. Для примера, в Windows® 10, этот тайм-аут составляет 21 секунду.
'Username'
- Идентификатор пользователя''
(по умолчанию) | строковый скаляр | символьный векторИдентификатор пользователя, заданный как строковый скаляр или вектор символов для базовой и/или дайджестовой HTTP-аутентификации (без шифрования). Дополнительные сведения о базовой схеме HTTP-аутентификации см. в разделе https://tools.ietf.org/html/rfc7617. Дополнительные сведения о проверке подлинности доступа к дайджесту HTTP см. в разделе https://tools.ietf.org/html/rfc7616.
'Password'
- Пароль аутентификации пользователя''
(по умолчанию) | строковый скаляр | символьный векторПароль аутентификации пользователя, заданный как строковый скаляр или вектор символов для базовой и/или дайджестовой HTTP-аутентификации (без шифрования). Если вы отображаете weboptions
объект с Password
set, затем значение отображается как вектор символов, содержащий «*». Однако объект хранит значение Password
как обычный текст.
'KeyName'
- Имя ключа''
(по умолчанию) | строковый скаляр | символьный векторИмя ключа, заданное как строковый скаляр или вектор символов. KeyName
- дополнительное имя для добавления к заголовку запроса HTTP. Для примера, KeyName
может быть именем ключа API веб-сервиса.
Пример: weboptions('KeyName','duration','KeyValue',7)
создает weboptions
объект, содержащий имя ключа, duration
, заданный веб-сервисом.
'KeyValue'
- Значение ключа''
(по умолчанию) | строковый скаляр | вектор символов | числовой | логическийЗначение ключа, заданное как строковый скаляр, вектор символов или числовое или логическое значение для добавления к заголовку запроса HTTP. KeyValue
- значение ключа, заданное как KeyName
.
Пример: weboptions('KeyName','duration','KeyValue',7)
создает weboptions
объект, который содержит значение ключа, 7
, в паре с именем ключа, duration
.
'HeaderFields'
- Имена и значения полей заголовкаИмена и значения полей заголовка, заданные как массив m на 2 строк или массив ячеек векторов символов для добавления к заголовку запроса HTTP. HeaderFields{i,1}
- имя поля и HeaderFields{i,2}
является его значением.
Эти поля заголовка автоматически добавляются или заменяются полями webread
, webwrite
, или websave
. Обычно эти поля добавляются, но если имя одного из этих полей не учитывает регистр и соответствует одному из полей, которые будут добавлены автоматически, и это поле не поддерживает несколько значений (для примера, Content-Type), то вместо этого используется заданное значение. Некоторые поля, значение которых необходимо для успешной отправки запроса, такие как Подключение и Длина содержимого, не могут быть переопределены.
Пример: weboptions('HeaderFields',{'Content-Length' '78';'Content-Type' 'application/json'})
создает weboptions
объект, содержащий два поля заголовка: Content-Length
со значением 78
и Content-Type
со значением application/json
.
'ContentType'
- Тип содержимого'auto'
(по умолчанию) | строковый скаляр | символьный векторТип содержимого, заданный как строковый скаляр или вектор символов. Использование ContentType
запрашивать, чтобы сервер предпочтительно возвращал данные в конкретном формате. webread
использует это значение, чтобы преобразовать ответ в MATLAB® тип. Сервер возвращает этот тип контента, если это возможно, но не обязан этого делать.
| Выход | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
| Выход определяется автоматически на основе типа содержимого, заданного сервером. | |||||||||
| Вектор символов для типов содержимого:
Если веб-сервис возвращает файл MATLAB с | |||||||||
| Числовая или логическая матрица для Для поддерживаемых форматов изображений смотрите Поддерживаемые Форматы файлов для Импорта и Экспорта. | |||||||||
| Числовая матрица для Для поддерживаемых аудиоформатов смотрите Поддерживаемые Форматы файлов для Импорта и Экспорта. | |||||||||
|
| |||||||||
| Объект скалярной таблицы для электронной таблицы и CSV ( | |||||||||
|
| |||||||||
| Java® Узел объектной модели документа (DOM) для | |||||||||
|
|
Пример: weboptions('ContentType','text')
создает weboptions
объект, который инструктирует webread
для возврата текста, JSON или XML- содержимое в виде вектора символов.
'ContentReader'
- Программа чтения содержимого[]
(по умолчанию) | указатель на функциюСредство чтения содержимого, заданное как указатель на функцию. Можно создать weboptions
объект с ContentReader
заданный, и передать объект как входной параметр, webread
. Тогда webread
загружает данные из веб-сервиса и считывает данные с функцией, заданной указателем на функцию. webread
игнорирует ContentType
когда ContentReader
задан.
Пример: weboptions('ContentReader',@readtable)
создает weboptions
объект, который инструктирует webread
использовать readtable
для чтения содержимого как таблицы.
'MediaType'
- Тип носителя'auto'
(по умолчанию) | 'application/x-www-form-urlencoded'
| строковый скаляр | символьный вектор | matlab.net.http.MediaType
Тип носителя, заданный как строковый скаляр, вектор символов или matlab.net.http.MediaType
объект. MediaType
задает тип данных webwrite
отправляет в веб-сервис. Он задает тип контента, заданный MATLAB для сервера, и управляет тем, как webwrite
data
аргумент, если задан, преобразуется. Для получения дополнительной информации смотрите https://tools.ietf.org/html/rfc6838.
Значение по умолчанию '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
является вектор символов, затем отправляется как-is. Все другие типы, включая скалярные строки, преобразуются с помощью jsonencode
.
Если вы задаете 'application/x-www-form-urlencoded'
, затем PostName/PostValue
пары отправляются закодированными в форме. data
, если присутствует, должен быть строковым или символьным вектором, который должен быть отправлен как-is.
Если вы задаете MediaType
который содержит 'xml'
, и data
является объектом Document Object Model (Java org.apache.xerces.dom.DocumentImpl
), затем преобразуется в XML. data
, если присутствует, должен быть строковым или символьным вектором, который должен быть отправлен как-is.
Если вы задаете любое другое MediaType
, и data
- строка или вектор символов, тогда weboptions
отправляет значение как-is.
PostName/PostValue
пары принимаются только для MediaType
значения 'auto'
и 'application/x-www-form-urlencoded'
, и векторы символов всегда отправляются как-является независимо от MediaType
.
Можно задать разделенную точкой с запятой name=value
параметры в MediaType
string, для примера, 'application/json; odata=verbose'
. Для некоторых серверов этот формат требуется как часть поля заголовка Content-Type в запросе.
Пример: weboptions('MediaType','application/json')
создает weboptions
объект, который инструктирует webwrite
закодировать данные вектора символов как JSON, чтобы поместить их в веб-сервис.
'RequestMethod'
- Метод запроса'auto'
(по умолчанию) | строковый скаляр | символьный вектор | matlab.net.http.RequestMethod
перечислениеМетод запроса HTTP, заданный как строковый скаляр, вектор символов или matlab.net.http.RequestMethod
перечисление как одно из следующих значений:
'auto'
webread
и websave
использовать метод HTTP GET.
webwrite
использует метод HTTP POST.
'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
использовать метод HTTP POST веб-сервиса.
'ArrayFormat'
- Формат для кодирования в форме или публикации значений, представляющих несколько значений'csv'
(по умолчанию) | 'json'
| 'repeating'
| 'php'
Формат для кодирования формы или публикации значений, представляющих несколько значений, заданный как 'csv'
, 'json'
, 'repeating'
, или 'php'
. Запрос или значение записи содержат несколько значений, если это
Числовой, логический или datetime
вектор
A символьного массива с несколькими строками
Вектор камеры, где каждый элемент является числом, логическим или datetime
скаляр или вектор символов с одной строкой
Другие типы данных или размерностей не поддерживаются.
В этой таблице показаны преобразования, закодированные в форме для каждого формата, для параметра запроса с именем 'parameter'
и значение запроса [1 2 3]
. Веб-сервис определяет используемое преобразование.
| Преобразование с кодировкой форм |
---|---|
|
|
|
|
|
|
|
|
Чтобы кодировать скаляр как одноэлементный массив с 'json'
или 'php'
спецификаторы, поместите скаляр в массив ячеек с одним элементом.
Пример: weboptions('ArrayFormat','repeating')
создает weboptions
объект, который инструктирует webread
, websave
, или webwrite
для кодирования формы любой запрос или запись значения с несколькими значениями в качестве повторяющихся параметров запроса.
'CertificateFilename'
- Имя файла'default'
(по умолчанию) | строковый скаляр | символьный векторИмя файла, заданное как строковый скаляр или вектор символов, обозначающий имя и местоположение файла, содержащего корневые сертификаты. Файл должен быть в формате PEM. Расположение должно быть в текущей папке, в папке на пути MATLAB или полным или относительным путем к файлу. Сертификаты, содержащиеся в этом файле, используются для проверки сертификатов сервера для HTTPS-подключений. Поскольку безопасность HTTPS-соединений зависит от целостности этого файла, защитите его соответствующим образом. MATLAB не управляет сертификатами или файлами сертификатов, но для управления PEM-файлами доступны сторонние программы.
По умолчанию, когда опции не заданы, MATLAB проверяет сертификаты сервера с помощью системного хранилища сертификатов. Это также поведение, если CertificateFilename
установлено в 'default'
.
Если CertificateFilename
пуст (''
), затем валидация сертификата сервера отключается. MATLAB только проверяет, что область имя сертификата сервера совпадает с именем сервера.
Если вы столкнулись с отказом валидации сертификата сервера с помощью 'default'
, затем проверьте подключение с помощью системного браузера.
Если вы столкнулись с проблемой подключения, примите во внимание следующее:
Для получения просроченного или отозванного сертификата сервера обратитесь к владельцу веб-сайта или администратору сервера.
Для отсутствующего сертификата корневого ЦС можно выбрать один из следующих:
Добавьте корневой сертификат CA к файлу, обозначенному CertificateFilename
.
Отключить валидацию сертификата путем установки CertificateFilename
в пустые (''
).
Для несоответствия доменного имени сертификата сервера и доменного имени сервера можно отключить эту валидацию путем создания matlab.net.http.RequestMessage
объект и установка matlab.net.http.HTTPOptions.VerifyServerName
свойство к false
.
Примечание
Эти опции являются временными обходами, и MathWorks настоятельно рекомендует устранить первопричину любого отказа валидации сертификата сервера с помощью действительного/правильного сертификата сервера.
общественность
общественность
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.