matlab.net.http.HTTPOptions class

Пакет: 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
public
SetAccess
public

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

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

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

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

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

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

Атрибуты:

GetAccess
public
SetAccess
public

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

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

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

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

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

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

Атрибуты:

GetAccess
public
SetAccess
public

Как обработать необработанную полезную нагрузку, полученную от сервера в ResponseMessage, заданный как true или false.

Если ConvertResponse верно, затем

  • Если ContentConsumer задан, затем uint8 полезная нагрузка передается ContentConsumer для последующей обработки.

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

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

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

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

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

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

  • Декодирование перестало работать

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

Атрибуты:

GetAccess
public
SetAccess
public

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

Секунды, чтобы ожидать между пакетами данных в сети, заданной как целое число. Значением по умолчанию является 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 не поддерживает Довольный Тип кодировки, декодирование не происходит даже если DecodeResponse верно.

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

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

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

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

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

Атрибуты:

GetAccess
public
SetAccess
public

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

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

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

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

Если вы обеспечиваете Credentials для использования с прокси, и вы хотите тех Credentials чтобы заменить различное имя пользователя и пароль, заданное в веб-Панели Настроек MATLAB, затем задайте хост и порт прокси в ProxyURI свойство этого HTTPOptions возразите или очистите опцию Use a proxy with authentication в панели настроек.

Атрибуты:

GetAccess
public
SetAccess
public

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

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

Атрибуты:

GetAccess
public
SetAccess
public

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

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

Атрибуты:

GetAccess
public
SetAccess
public

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

Атрибуты:

GetAccess
public
SetAccess
public

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

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

ProxyURI используется только если UseProxy свойство верно. 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

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

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

Атрибуты:

GetAccess
public
SetAccess
public

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

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

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

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

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

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

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

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

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

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

Атрибуты:

GetAccess
public
SetAccess
public

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

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

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

Атрибуты:

GetAccess
public
SetAccess
public

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

Примеры

свернуть все

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

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

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

Введенный в R2017b