Укажите параметры для веб-сервиса 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.