exponenta event banner

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 true, а затем реализовать поддерживаемый метод аутентификации, запрошенный сервером или прокси. Аутентификация основана на Credentials и имя пользователя и пароль прокси, установленные в веб-настройках MATLAB ®, если таковые имеются. Сведения о поддержке аутентификации MATLAB см. в разделе Проверка подлинности сервера.

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

  • Authenticate имеет значение false.

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

  • Ошибка проверки подлинности.

Атрибуты:

GetAccess
public
SetAccess
public

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

Имя файла, указанное как строковый скалярный или символьный вектор, обозначающий имя и местоположение файла, содержащего корневые сертификаты. Файл должен иметь формат 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 настоятельно рекомендует устранить основную причину сбоя проверки сертификата сервера, используя действительный/правильный сертификат сервера.

Атрибуты:

GetAccess
public
SetAccess
public

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

Секунд ожидания начального подключения сервера, указанного как целое число. Если используется прокси-сервер, тайм-аут применяется к соединению с прокси-сервером; в противном случае это относится к подключению к серверу.

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

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

При отправке запроса на сервер через прокси рассмотрите возможность использования ResponseTimeout для ограничения времени ожидания.

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

Атрибуты:

GetAccess
public
SetAccess
public

Обработка необработанной полезной нагрузки, полученной от сервера в ResponseMessage, указано как true или false.

Если ConvertResponse true, то

  • Если ContentConsumer указывается, то uint8 полезная нагрузка передается в ContentConsumer для дальнейшей обработки.

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

Если ConvertResponse имеет значение false, а затем любое указанное значение ContentConsumer игнорируется, и поведение зависит от того, указывает ли тип содержимого символьные данные.

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

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

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

ConvertResponse игнорируется, если сообщение было закодировано (сжато) и одно из следующих:

  • Сбой декодирования

  • DecodeResponse свойство имеет значение false

Атрибуты:

GetAccess
public
SetAccess
public

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

Секунды ожидания между пакетами данных в сети, заданными как целое число. Значение по умолчанию: Inf, что означает отсутствие тайм-аута. Этот тайм-аут, установленный после установления начального соединения, полезен для связи с потенциально медленными серверами. Если этот тайм-аут превышен во время ожидания отправки или получения следующего ожидаемого пакета, MATLAB закрывает соединение и выдает ошибку. В этом случае используйте matlab.net.http.HTTPException History для получения каких-либо частичных данных.

Атрибуты:

GetAccess
public
SetAccess
public

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

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

Если DecodeResponse имеет значение false, и полезная нагрузка закодирована, то:

  • MessageBody.Payload содержит необработанную незашифрованную полезную нагрузку.

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

  • Преобразование не выполняется, независимо от настроек ConvertResponse собственность.

Не устанавливайте значение false для сжатых ответов, если используется ContentConsumer которые не могут обрабатывать сжатые данные, если вы также не ConvertResponse на false для подавления использования потребителем. FileConsumer и BinaryConsumer являются единственными потребителями, предоставляемыми MATLAB, которые могут обрабатывать сжатые данные.

Атрибуты:

GetAccess
public
SetAccess
public

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

Учетные данные проверки подлинности, указанные как один или несколько matlab.net.http.Credentials объекты. Значение по умолчанию является значением по умолчанию matlab.net.http.Credentials объект. Использовать значение по умолчанию Credentials объект, разрешающий проверку подлинности для таких схем, как Kerberos и NTLM в Windows. Эти схемы не требуют указания имени пользователя или пароля.

Credentials используются только в том случае, если Authenticate свойство имеет значение true. Необходимо указать хотя бы один Credentials объект для выполнения аутентификации. Если установить Credentials чтобы очистить, то аутентификация не выполняется.

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

Если вы предоставите Credentials для использования с прокси, и вы хотите, чтобы Credentials чтобы переопределить другое имя пользователя и пароль, указанные в веб-настройках в окне «Установки», затем укажите хост и порт прокси-сервера в ProxyURI свойство этого HTTPOptions или снимите флажок Использовать прокси с аутентификацией в окне Настройки.

Атрибуты:

GetAccess
public
SetAccess
public

Секунды, в течение которых соединение с сервером остается открытым после начального подключения, указанного как 0 или Inf. Используйте это свойство, чтобы разрешить отправку нескольких последовательных сообщений по одному и тому же соединению. Один Inf значение (по умолчанию) разрешает постоянные подключения, сохраняя соединение открытым до тех пор, пока сервер доступен. Значение 0 закрывает соединение после каждого сообщения. Другие значения не поддерживаются.

KeepAliveTimeout свойство не влияет на успех операции. MATLAB всегда сохраняет соединение открытым достаточно долго, чтобы получить ожидаемый ответ от сервера, если не превышены другие тайм-ауты. Тем не менее, 0 значение может серьезно повлиять на производительность отправки нескольких коротких сообщений на один и тот же сервер.

Атрибуты:

GetAccess
public
SetAccess
public

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

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

Атрибуты:

GetAccess
public
SetAccess
public

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

Атрибуты:

GetAccess
public
SetAccess
public

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

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

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

Атрибуты:

GetAccess
public
SetAccess
public

Секунд ожидания получения начального ответа (заголовка) от сервера после отправки последнего пакета запроса, указанного как целое число. Значение по умолчанию: Inf, что означает отсутствие тайм-аута. Если этот тайм-аут превышен, MATLAB закрывает соединение и выдает ошибку.

Использовать ResponseTimeout ограничить время ожидания при отправке запроса на сервер через прокси, так как ConnectTimeout применяется только к времени подключения прокси-сервера.

ResponseTimeout эквивалентно Timeout свойство, установленное weboptions.

Атрибуты:

GetAccess
public
SetAccess
public

Сохраняется ли полезная нагрузка, указывается как 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
public
SetAccess
public

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

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

Атрибуты:

GetAccess
public
SetAccess
public

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

Используется ли прокси-сервер, указанный как true или false.

Если UseProxy true, то MATLAB выбирает первый из этих прокси.

  • Значение в поле ProxyURI собственность, если таковая имеется.

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

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

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

  • UseProxy имеет значение false.

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

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

Атрибуты:

GetAccess
public
SetAccess
public

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

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

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

Атрибуты:

GetAccess
public
SetAccess
public

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

Примеры

свернуть все

Увеличьте время подключения до 20 секунд.

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

options = matlab.net.http.HTTPOptions('ConnectTimeout',20);
response = request.send(url,options);
Представлен в R2016b