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® Веб-Настройки, если таковые имеются. Для получения информации о поддержке аутентификации MATLAB смотрите Аутентификацию сервера.

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

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

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

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

Атрибуты:

GetAccess
public
SetAccess
public

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

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

По умолчанию, когда опции не заданы, MATLAB подтверждает сертификаты сервера с помощью обеспеченного системой хранилища сертификатов. Это - также поведение если CertificateFilename установлен в 'default'.

Если CertificateFilename isempty), затем валидация сертификата сервера выключена. MATLAB только проверяет что доменное имя соответствий сертификата сервера тот из сервера.

Если вы сталкиваетесь с отказом валидации сертификата сервера с помощью 'default', затем проверяйте связь с помощью системного браузера.

Если вы сталкиваетесь с проблемой связи, рассматриваете следующее:

  • Для или отменяемого сертификата сервера с истекшим сроком свяжитесь с владельцем веб-сайта или администратором сервера.

  • Для недостающего Корневого сертификата CA можно выбрать одно из следующего:

    • Добавьте Корневой сертификат 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 верно, затем

  • Если 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 чтобы заменить различное имя пользователя и пароль, заданное в Web Preferences в окне Preferences, затем задайте хост и порт прокси в ProxyURI свойство этого HTTPOptions возразите или очистите опцию Use a proxy with authentication в окне Preferences.

Атрибуты:

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