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

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

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

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

  • Не удалось выполнить проверку подлинности.

Атрибуты:

GetAccess
public
SetAccess
public

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

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

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

Если CertificateFilename пуст (''), затем валидация сертификата сервера отключается. MATLAB только проверяет, что область имя сертификата сервера совпадает с именем сервера.

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

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

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

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

    • Добавьте корневой сертификат 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 это правда, тогда

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

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

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

  • Если Content-Type имеет явный атрибут или атрибут charset по умолчанию, то полезная нагрузка преобразуется в текст и хранится в 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 является true.

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

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

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

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

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

Атрибуты:

GetAccess
public
SetAccess
public

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

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

Атрибуты:

GetAccess
public
SetAccess
public

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

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

Атрибуты:

GetAccess
public
SetAccess
public

Прогресс обработчика монитора, заданный как указатель на функцию для matlab.net.http.ProgressMonitor объект. Если UseProgressMonitor true, затем MATLAB вызывает ProgressMonitor функция для сообщения о прогрессе передачи. Если UseProgressMonitor является ложным или 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 назначения без прокси, если любое из следующих значений соответствует true.

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

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

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

Атрибуты:

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