Пакет: matlab.net.http
Тело сообщения HTTP
Объект MessageBody
содержит тело сообщения HTTP. В сообщении запроса, набор свойство Body
к вашим данным или к объекту MessageBody
, содержащему ваши данные. В сообщении ответа этот объект содержит полученные данные.
Обменивайтесь сообщениями данные представлены двумя свойствами. Свойство Payload
содержит необработанные байты, отправленные в или полученный от сети. Свойство Data
содержит Payload
как тип MATLAB®. Часто только одно из этих двух свойств установлено.
Объект MessageBody
содержит тело сообщения HTTP. В сообщении запроса, набор свойство Body
к вашим данным или к объекту MessageBody
, содержащему ваши данные. В сообщении ответа этот объект содержит полученные данные.
Обменивайтесь сообщениями данные представлены двумя свойствами. Свойство Payload
содержит необработанные байты, отправленные в или полученный от сети. Свойство Data
содержит Payload
как тип MATLAB. Часто только одно из этих двух свойств установлено.
Данные
Передайте данныеuint8
или массив | символьный массив | представляют в виде строки | массив структур | данные изображения | XML DOM | аудиоданные | таблицаПередайте данные, заданные как один из следующих типов данных MATLAB. Для получения дополнительной информации преобразования смотрите Преобразование типа данных HTTP.
Вектор uint8
— Data
, не преобразованный.
символьный массив или скалярная строка — Data
, преобразованный на основе типа носителя и его набора символов, приписывают в заголовке Типа контента.
массив структур — Data
, преобразованный в или от строки JSON с помощью webread
и webwrite
.
изображение — Data
, преобразованный в или от изображения с помощью imread
и imwrite
.
XML DOM — Data
, преобразованный в или от строки с помощью xmlread
и xmlwrite
.
аудиоданные — Data
, преобразованный с помощью audioread
и audiowrite
.
таблица — Data
, преобразованный с помощью xmlread
и xmlwrite
.
Другой тип массива или массива ячеек — Data
, преобразованный в или от JSON использование jsonencode
и jsondecode
.
В сообщении запроса свойство Data
является данными MATLAB перед преобразованием в полезную нагрузку uint8
. Преобразование данных происходит, когда вы вызываете
send
RequestMessage
или методы complete
. Преобразование зависит от Типа контента, который вы задаете в сообщении и типе Data
. Если вы не задаете Тип контента, то send
и методы complete
пытаются вывести тип из данных и добавить соответствующий ContentTypeField в сообщение запроса.
В сообщении ответа Data
представляет полезную нагрузку uint8
, преобразованную в тип MATLAB на основе Типа контента, заданного сервером. Если преобразование перестало работать, то Data
остается пустым, и необработанные данные появляется в свойстве Payload
.
Чтобы подавить автоматическое преобразование ответа Payload
, установите свойство HTTPOptions.ConvertResponse
на false
. В этом случае Data
содержит или строку для символьных данных или вектор uint8
байтов.
GetAccess | общественность |
SetAccess | общественность |
Зависимый | tRUE |
ContentType
Тип контента данныхОбъект MediaType
Тип контента свойства Data
, заданного как объект matlab.net.http.MediaType
только для чтения. Это свойство определяет, как содержимое свойства Data
было преобразовано в или от полезной нагрузки. Если Тип контента имеет MediaType
с атрибутом набора символов, то набор символов определяет кодирование.
Это свойство обычно имеет те же значения как результат вызова convert
на поле Content-Type в сообщении, содержащем этот MessageBody
.
Вы не устанавливаете ContentType
в сообщении запроса. Когда вы создаете объект MessageBody
, это свойство пусто. Когда вы копируете MessageBody
в сообщение запроса, ContentType
установлен в значение ContentTypeField
в сообщении, если существует тот.
send
RequestMessage
и методы complete
устанавливают ContentType
на основе типа Data
и значения ContentTypeField
в сообщении запроса.
В сообщении ответа ContentType
основан на ContentTypeField
сообщения.
GetAccess | общественность |
SetAccess | общественность |
Переходный процесс | tRUE |
ContentCoding
Довольное Кодирование полезной нагрузкиЭто свойство собирается указать, что свойство Payload
ResponseMessage
закодировано. Когда ContentCoding
установлен, никакая обработка не была сделана на полезной нагрузке, и свойство Data
пусто.
Если MATLAB получает сообщение, полезная нагрузка которого закодирована с помощью алгоритма сжатия, который это поддерживает, такие как gzip
или deflate
, это автоматически декодирует ту полезную нагрузку прежде, чем делать попытку любых других преобразований. Если декодирование было успешно, оно опционально хранит декодируемую полезную нагрузку в Payload
и конвертированную полезную нагрузку (если таковые имеются) в Data
. В этом случае это свойство пусто, чтобы указать, что Payload
не закодирован.
Если полезная нагрузка была закодирована, но декодирование не было успешно, или вы подавили декодирование путем установки свойства HTTPOptions.DecodePayload
на false
, то необработанная все еще закодированная полезная нагрузка возвращена в Payload
, Data
оставляют пустым, и ContentCoding
установлен в вектор строк, представляющих значение Довольного Кодирования полей заголовков в сообщении ответа. В этом случае можно сохранить Payload
, как (например, запишите его в файл), или обработайте его согласно алгоритмам сжатия, заданным в ContentCoding
. Например, если значением является gzip
, можно записать данные в файл и использовать команду gunzip
, чтобы обработать данные.
GetAccess | общественность |
SetAccess | общественность |
Переходный процесс | tRUE |
Типы данных: string
Payload
— Необработанные байты отправляются в сообщенииuint8
| скаляр представляет в виде строки | вектор символовНеобработанные байты отправляются в сообщении, заданном как вектор uint8
, скалярная строка или вектор символов. Как удобство в сообщении запроса, можно установить Payload
на скалярную строку или вектор символов. MATLAB преобразовывает значение в вектор uint8
. В сообщении ответа Payload
всегда является вектором uint8
.
В сообщении запроса:
Скалярная строка или вектор символов преобразованы с помощью набора символов, заданного в, или подразумевали свойством ContentType
, если таковые имеются, или кодированием UTF-8
, если ни один не был установлен. Чтобы использовать различное кодирование, закодируйте его сами, например, с помощью функции unicode2native
, и присвойте получившийся вектор uint8
Payload
.
Если вы не хотите выходное преобразование на массиве байтов, то установленный Payload
вместо свойства Data
. Если вы устанавливаете Data
вместо этого, то Payload
заполнен в байтами, которые были отправлены, если вы задаете запрос или возвращаемый аргумент истории для RequestMessage.send
в возвращаемом значении RequestMessage.complete
, или в ResponseMessage
, если вы устанавливаете свойство HTTPOptions.SavePayload
.
Когда вы устанавливаете Payload
, Data
очищен. Если вы отправляете сообщение, где и Data
и Payload
установлены, то Payload
отправляется, и Data
проигнорирован. Только сообщения ответа и сообщения запроса, возвращенные send
или методами complete
, могут иметь оба набора свойств одновременно.
В сообщении ответа Payload
является необработанными байтами, полученными в этих случаях:
Вы задаете возвращаемый аргумент истории в методе RequestMessage.send
.
Вы устанавливаете свойство HTTPOptions.SavePayload
на true
.
Payload
всегда устанавливается для сообщений, появляющихся в LogRecord
Если преобразование полезной нагрузки к данным MATLAB перестало работать. Для получения информации проверяйте свойство HTTPException.History
.
GetAccess | общественность |
SetAccess | общественность |
Зависимый | tRUE |
show | Отобразите или возвратите отформатированную версию данных о тексте сообщения |
Эти методы специализируют стандартные операторы MATLAB и функции для объектов в этом классе.
string | Свойство данных как строка. Используйте для диагностики или отладки. Если свойство Если Если |
char | Свойство |
ContentTypeField
| Данные | MediaType
| RequestMessage
| ResponseMessage
| imread
| imwrite
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.