Укажите параметры веб-службы 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), то вместо этого используется указанное значение. Некоторые поля, значение которых необходимо для успешной отправки запроса, такие как Connection и Content-Length, не могут быть переопределены.
Пример: weboptions('HeaderFields',{'Content-Length' '78';'Content-Type' 'application/json'}) создает weboptions объект, содержащий два поля заголовка: Content-Length со значением 78 и Content-Type со значением application/json.
'ContentType' - Тип контента'auto' (по умолчанию) | строковый скалярный | символьный векторТип содержимого, заданный как строковый скалярный или символьный вектор. Использовать ContentType запрашивать, чтобы сервер предпочтительно возвращал данные в конкретном формате. webread использует это значение для преобразования ответа в тип MATLAB ®. Сервер возвращает этот тип контента, если это возможно, но не обязан это делать.
| Тип вывода | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Тип вывода автоматически определяется на основе типа содержимого, заданного сервером. | |||||||||
| Символьный вектор для типов содержимого:
Если веб-служба возвращает файл MATLAB с | |||||||||
| Числовая или логическая матрица для Поддерживаемые форматы изображений см. в разделе Поддерживаемые форматы файлов для импорта и экспорта. | |||||||||
| Числовая матрица для Поддерживаемые форматы звука см. в разделе Поддерживаемые форматы файлов для импорта и экспорта. | |||||||||
|
| |||||||||
| Объект скалярной таблицы для электронной таблицы и CSV ( | |||||||||
|
| |||||||||
| Узел объектной модели документа (DOM) Java ® для | |||||||||
|
|
Пример: 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 является символьным вектором, то он отправляется как есть. Все остальные типы, включая скалярные строки, преобразуются с помощью jsonencode.
При указании 'application/x-www-form-urlencoded', то PostName/PostValue пары отправляются в кодировке формы. data, если присутствует, должен быть строковым или символьным вектором, который должен быть отправлен как есть.
Если указать MediaType который содержит 'xml', и data является объектом объектной модели документа (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'. Некоторые серверы требуют этот формат как часть поля заголовка Content-Type в запросе.
Пример: weboptions('MediaType','application/json') создает weboptions объект, который инструктирует webwrite кодировать данные вектора символов как JSON для отправки их в веб-службу.
'RequestMethod' - метод запроса HTTP'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 вектор
Символьный массив с несколькими строками
Вектор ячейки, где каждый элемент является числовым, логическим или 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'затем проверьте подключение с помощью системного браузера.
При возникновении проблемы с подключением необходимо учитывать следующее:
Для получения сертификата сервера с истекшим сроком действия или отозванного, обратитесь к владельцу веб-сайта или администратору сервера.
Для отсутствующего сертификата Root CA можно выбрать один из следующих вариантов:
Добавление сертификата корневого ЦС в файл, обозначаемый CertificateFilename.
Отключить проверку сертификата с помощью параметра CertificateFilename в пустой ('').
При несоответствии доменного имени сертификата сервера доменному имени сервера можно отключить эту проверку, создав matlab.net.http.RequestMessage объект и установка matlab.net.http.HTTPOptions.VerifyServerName свойство для false.
Примечание
Эти параметры являются временными средствами обхода, и MathWorks настоятельно рекомендует устранить основную причину сбоя проверки сертификата сервера, используя действительный/правильный сертификат сервера.
общественность
общественность
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.