matlab.net.http. Класс HTTPOptions

Пакет: matlab.net.http

Опции, управляющие обменом сообщениями HTTP

Описание

Используйте класс HTTPOptions, чтобы создать опции для сообщений запроса HTTP. Используйте этот объект задать опции, которые являются постоянными через несколько запросов.

Создание

obj = matlab.net.http.HTTPOptions создает опции HTTP со значениями свойств по умолчанию.

obj = matlab.net.http.HTTPOptions(Name,Value) создает опции HTTP с дополнительными свойствами, заданными одним или несколькими аргументами в виде пар "имя-значение". Name является именем свойства, и Value является соответствующим значением. Можно задать несколько аргументов в виде пар "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN. Незаданные свойства установлены в их значения по умолчанию.

Свойства

развернуть все

Используются ли Учетные данные для аутентификации, заданной как true или false.

Если Authenticate верен, то реализуйте поддерживаемый метод аутентификации, который требует сервер или прокси. Аутентификация основана на свойстве Credentials и наборе имени и пароля пользователя прокси в MATLAB® Web Preferences , если таковые имеются. MATLAB поддерживает Basic и аутентификацию Digest только.

Сообщение ответа содержит сервер или запрос аутентификации прокси, когда любое из этих условий существует.

  • Authenticate является ложным.

  • Никакие соответствующие свойства Credentials не найдены для этого запроса.

  • Сбои аутентификации.

Атрибуты:

GetAccess

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

SetAccess

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

Типы данных: логический

Секунды, чтобы ожидать начальной связи сервера, заданной как целое число. Значением по умолчанию составляют 10 секунд. Если период тайм-аута превышен, то ConnectTimeout выдает ошибку. Чтобы отключить тайм-ауты, установите ConnectTimeout на Inf.

ConnectTimeout определяет, сколько времени ожидать, чтобы завершить попытку подключения с сервером прежде, чем выдать ошибку. Этот тайм-аут не ограничивает, сколько времени он берет, чтобы получить полный ответ.

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

Атрибуты:

GetAccess

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

SetAccess

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

Преобразовать ли в тип MATLAB, заданный как true или false. Если ContentConsumer задан, то потребитель называется, чтобы преобразовать данные.

Если ConvertResponse верен, то MATLAB преобразовывает необработанную полезную нагрузку uint8 в свойстве MessageBody.Payload к данным MATLAB на основе Типа контента в сообщении ответа. Смотрите Свойство данных для правил преобразования. Если преобразование успешно, то Data содержит конвертированные данные, и Payload пуст.

Если ConvertResponse является ложным и нет никакого ContentConsumer, то поведение зависит от того, задает ли Тип контента символьные данные.

  • Если Тип контента имеет явный или атрибут набора символов по умолчанию, то полезная нагрузка преобразована в текст и сохранена в Data без последующей обработки.

  • Если Тип контента не задает символьные данные или нет никакого набора символов, и MATLAB не поддерживает Тип контента, то Data содержит необработанную полезную нагрузку uint8.

Во всех случаях удалено свойство Payload, если вы также не устанавливаете свойство SavePayload на true.

ConvertResponse проигнорирован если:

  • Сообщение было закодировано (сжатое) и декодирование не пройдено.

  • Свойство DecodeResponse является ложным.

Атрибуты:

GetAccess

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

SetAccess

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

Типы данных: логический

Декодировать ли сжатые данные, заданные как true или false. Декодирование средних значений, чтобы распаковать (декодирует) полезную нагрузку ответа, когда сервер возвращает сжатые (закодированные) данные. Декодирование происходит перед преобразованием на основе поля Content-Type.

Сообщение закодировано, когда существует поле Content-Encoding, которое задает алгоритм сжатия. MATLAB поддерживает довольный значения кодирования gzip, x-gzip и deflate. identity значения означает, что нет никакого кодирования, которое эквивалентно сообщению, имеющему поле Content-Encoding. Если MATLAB не поддерживает Довольный Тип кодировки, декодирование не происходит, даже если DecodeResponse верен.

Если DecodeResponse является ложным, и данные закодирован, то:

  • Свойство MessageBody.Payload содержит сырые данные незакодированная полезная нагрузка.

  • Свойство MessageBody.Data остается пустым.

  • Никакое преобразование не происходит, независимо от установки свойства ConvertResponse.

Атрибуты:

GetAccess

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

SetAccess

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

Типы данных: логический

Учетные данные аутентификации, заданные как вектор matlab.net.http.Credentials objects. Credentials, используются, только если свойство Authenticate верно.

Когда вы получаете доступ к тому же серверу многократно во время сеанса, поскольку максимальная производительность задает тот же вектор Credentials или тот же объект HTTPOptions для каждого запроса. Credentials содержит кэшируемую информацию, которая ускоряет последующую аутентификацию.

Атрибуты:

GetAccess

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

SetAccess

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

Количество перенаправлений, позволенных, заданных как целое число для данного запроса. Количество по умолчанию перенаправлений равняется 20. Установите на 0, чтобы отключить перенаправление.

Если MaxRedirects является ненулевым, то cookie, полученные от сервера в каждом ответе перенаправления, копируются в перенаправленное сообщение. После MaxRedirects сообщение ответа содержит следующее сообщение перенаправления.

Атрибуты:

GetAccess

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

SetAccess

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

Обработчик монитора прогресса, заданный как указатель на функцию к объекту matlab.net.http.ProgressMonitor. Если UseProgressMonitor верен, то MATLAB вызывает функцию ProgressMonitor, чтобы сообщить о прогрессе передачи. Если UseProgressMonitor является ложным, или ProgressMonitorFcn пуст, то ни о каком прогрессе не сообщают.

Атрибуты:

GetAccess

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

SetAccess

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

Типы данных: function_handle

Адрес прокси-сервера, заданный как объект matlab.net.URI или строка формы host:port или //host:port .

ProxyURI используется, только если свойство UseProxy верно. ProxyURI заменяет прокси, заданного в веб-Настройках MATLAB и любом наборе прокси в параметрах настройки системы Windows.

Атрибуты:

GetAccess

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

SetAccess

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

Сохранена ли Полезная нагрузка, заданная как true или false. Полезная нагрузка является необработанными байтами, полученными из или отправленный в сервер, сохраненный в свойстве MessageBody.Payload.

В сообщении запроса установка SavePayload к true сохраняет полезную нагрузку после преобразования данных. В сообщении ответа байты сохранены перед преобразованием.

Используйте SavePayload в качестве средства отладки. Например, сервер не может обработать тело запроса, или существует отказ, преобразовывающий орган по ответу в тип MATLAB. Установка SavePayload к true может использовать значительный объем памяти, потому что полезная нагрузка, по крайней мере, равна размеру конвертированных данных.

Чтобы получить полезную нагрузку ответа без преобразования, установите свойство ConvertResponse на false и считайте MessageBody.Data вместо этого.

Если HTTPException происходит во время обработки сообщения, то полезная нагрузка, полученная на грани отказа, находится в HTTPException.History(end).Response.Body.Payload.

Если RequestMessage.Body является объектом ContentProvider, то MATLAB сохраняет конвертированные данные провайдера в Body.Payload.

Атрибуты:

GetAccess

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

SetAccess

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

Типы данных: логический

Отобразить ли прогресс, заданный как true или false. Установите UseProgressMonitor на true сообщать о прогрессе передачи с помощью функции, заданной свойством ProgressMonitorFcn.

Атрибуты:

GetAccess

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

SetAccess

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

Типы данных: логический

Ли с помощью прокси, заданного как true или false.

Если UseProxy верен, то MATLAB выбирает первого из следующих прокси:

  • Значение в свойстве ProxyURI, если таковые имеются.

  • Прокси задан в веб-Настройках MATLAB, если таковые имеются.

  • Прокси задан в ваших установках системы (только Windows).

Все запросы переходят непосредственно к целевому URI без прокси, когда любое следующее верно.

  • UseProxy является ложным.

  • UseProxy верен, но ProxyURI пуст и в настройках нет никакого набора прокси.

MATLAB автоматически отклоняет сообщение к прокси, когда UseProxy верен.

Атрибуты:

GetAccess

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

SetAccess

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

Типы данных: логический

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

fullfile(matlabroot,'sys','certificates','ca','rootcerts.pem')

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

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

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

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

Атрибуты:

GetAccess

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

SetAccess

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

Типы данных: char | string

Совпадает ли имя сервера с сертификатом, заданным как true или false.

В безопасном соединении с помощью протокола https MATLAB проверяет, что имя сервера в сертификате совпадает со свойством Host в URI запроса, или в URI последнего запроса перенаправления. Эта верификация гарантирует, что вы связываетесь с намеченным сервером. Отключить верификацию в случаях, где сертификат сервера не совпадает с URI, раньше получало доступ к нему, устанавливало это свойство на ложь. Например, вы хотите получить доступ к серверу с помощью IP-адреса или "localhost", и вы уверены, что связываетесь непосредственно с намеченным сервером.

Атрибуты:

GetAccess

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

SetAccess

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

Типы данных: логический

Примеры

свернуть все

Увеличьте тайм-аут связи до 20 секунд.

Измените опцию тайм-аута по умолчанию для сообщения запроса, заданного в переменном request, отправленном в сервер, заданный в переменном url.

options = matlab.net.http.HTTPOptions('ConnectTimeout',20);
response = request.send(url,options);

Введенный в R2017b

Была ли эта тема полезной?