主要内容

webwrite

将数据写入RESTful web服务

描述

例子

响应= webwrite (urlPostName1, PostValue1,…,PostNameN PostValueN将内容写入指定的web服务url并返回响应.输入参数PostName1, PostValue1,…,PostNameN PostValueN将内容指定为名称-值对。webwriteform-在对web服务的HTTP POST请求的主体中编码名称-值对。web服务定义响应

web服务提供宁静的返回格式化为JSON、XML、图像或文本等互联网媒体类型的数据。

例子

响应= webwrite (url数据的帖子数据指定的web服务url并根据。设置媒体类型数据

输入参数数据将内容指定为表单编码的字符数组。webwrite数据在对web服务的HTTP POST请求的主体中。web服务定义响应

例子

响应= webwrite (___选项属性指定的其他HTTP请求选项weboptions对象选项.您可以将此语法与前面语法的任何输入参数一起使用。

将内容写入internet媒体类型,而不是以形式编码的字符数组(“应用程序/ x-www-form-urlencoded”),指定MediaType的属性选项

要使用HTTP POST请求请求数据并使用函数读取响应,请指定ContentReader的属性选项作为函数的句柄。如果为返回多个输出参数的函数指定句柄,webwrite返回所有输出参数。

例子

全部折叠

在ThingSpeak服务器上写一个数字,然后读回来。

要运行此代码,请创建ThingSpeak帐户。调用webwrite使用你的ThingSpeak帐户的Write API密钥和通道ID。默认字段名为“field1”

thingSpeakURL = ' http://api.thingspeak.com/ ';thingSpeakWriteURL = [thingSpeakURL 'update'];writeApiKey = '编写API密钥';字段名=“field1”;fieldValue = 42;响应= webwrite (thingSpeakWriteURL api_key, writeApiKey,字段名,fieldValue)

如果这个呼叫webwrite是你的ThingSpeak频道的第一次更新,响应1

把你写进频道的数字读回来。ThingSpeak提供了一个不同的URL来获取你频道的最后一个条目。您的频道ID是URL的一部分。

channelID = num2str (您的频道ID);thingSpeakReadURL = [thingSpeakURL 'channels/' channelID '/fields/' fieldName '/last'];data = webread (thingSpeakReadURL api_key, writeApiKey)
data = 42

这个示例展示了如何将数据写入Web服务器。

httpUrl =“http://requestserver.mathworks.com”;delim =“&”;pairDelim =“=”;数据= 42;data = num2str(数据);data = (“关键”pairDelim,“价值”delim,“字段”、pairDelim数据);responseData = webwrite(httpUrl, data);disp (responseData)中;
dataType: 'application/x-www-form-urlencoded' dataSize: '18'

这个示例展示了如何将记录编写为JSON对象。

httpsUrl =“https://requestserver.mathworks.com”;员工(1)。Name =“乔”;员工(1)。职业=“医生”;员工(2)。Name =“莎拉”;员工(2)。职业=“工程师”;选择= weboptions (“MediaType”“application / json”);responseEmployee = webwrite(httpsUrl, employee, options)
responseEmployee =结构体字段:数据类型:“application / json;charset = utf - 8 ' dataSize:“79”

在ThingSpeak服务器上的频道提要中写下一个数字和一个具体的日期。读数字和日期。

要运行此代码,请创建ThingSpeak帐户。调用webwrite使用你的ThingSpeak帐户的Write API密钥和通道ID。参数指定提要条目的日期datetime对象。

thingSpeakURL = ' http://api.thingspeak.com/ ';thingSpeakWriteURL = [thingSpeakURL 'update'];writeApiKey = '编写API密钥';字段名=“field1”;fieldValue = 42;D = datetime(2015,3,22,8,15,30,'Format','yyyy-MM-dd HH:mm:ss');响应= webwrite (thingSpeakWriteURL api_key, writeApiKey,…字段名,fieldValue created_at ' D)

如果这个呼叫webwrite是你的ThingSpeak频道的第一次更新,响应1

将最后一个条目读回您的频道。ThingSpeak提供了一个不同的URL来获取你频道的最后一个条目。附加last.json以获取JSON对象的数据。您的频道ID是URL的一部分。

channelID = num2str (您的频道ID);thingSpeakReadURL = [thingSpeakURL 'channels/' channelID '/fields/'…字段名' / last.json '];data = webread (thingSpeakReadURL api_key, writeApiKey)
data = created_at: '2015-03-22T08:15:30Z' entry_id: 1 field1: '42'

的日期created_at字段匹配中指定的日期D

写入两个名称-值对参数httpbin.org.站点返回请求的POST参数。

uri = matlab.net.URI (“http://httpbin.org/post”);res = webwrite (uri,“field1”“你好”“field2”“世界”);res.form
Ans = struct with fields: field1: 'hello ' field2: 'world'

输入参数

全部折叠

web服务的URL,指定为字符向量或字符串标量。包括传输协议。只有httphttps都受支持金宝app。web服务实现了一个RESTful接口。看到宁静的为更多的信息。

Web服务post参数,指定为一对或多对名称-值参数。一个PostName参数必须指定post参数的名称。一个PostValue参数必须是字符向量、字符串标量或数字、逻辑或datetime指定post参数值的值。数字、逻辑和datetime值可以在数组中。web服务定义了它作为请求的一部分接受的名称-值对。webwrite在HTTP POST请求的主体中将名称-值对编码为表单编码字符数组,并设置内容类型为应用程序/ x-www-form-urlencoded默认情况下。

当你指定PostValue作为一个datetime对象,则必须指定其格式属性,以便它与web服务所需的格式一致。如果格式属性包括时区或偏移量,以及datetime对象未分区webwrite指定“本地”作为时区。

当一个PostValue参数包含数组中的多个值,请指定ArrayFormat财产的weboptions对象对由web服务指定的数组进行形式编码。

例子:webwrite(“//www.tatmou.com/matlabcentral/fileexchange/”,“词”,‘webwrite’,‘时间’,7)检索过去7天内上载到文件交换的包含该单词的文件列表webwrite.文件交换web服务定义术语持续时间参数。

要发布到web服务的数据,指定为字符向量、字符串标量或数字、单元格、逻辑或结构MediaType价值json的,或作为文档对象模型MediaType价值“XML”.如果数据是字符串还是字符向量webwrite发送它没有转换。所有其他类型都是基于weboptions。MediaType价值。有关更多信息,请参见https://tools.ietf.org/html/rfc6838

例子:webwrite (' //www.tatmou.com/matlabcentral/fileexchange/ ', ' = webwrite&duration = 7”)检索过去7天内上载到文件交换的包含该单词的文件列表webwrite.文件交换web服务定义术语持续时间参数。

附加的HTTP请求选项,指定为weboptions对象。看到weboptions为所有请求选项weboptions属性。

输出参数

全部折叠

来自web服务的响应,返回为标量、数组、结构或表。

更多关于

全部折叠

宁静的

休息意味着具象状态传输,一种web服务的通用架构风格。RESTful接口提供标准的HTTP方法,如GET、PUT、POST或DELETE。

提示

  • 有关RESTful web服务函数不支持的功金宝app能,请参阅HTTP接口

  • webwrite函数写PostName, PostValue输入参数作为表单编码的字符数组。如果您还指定选项输入参数,然后itsMediaType属性必须“应用程序/ x-www-form-urlencoded”

  • webwrite不能转换datetime对象转换为JSON,因为JSON没有定义标准的日期格式。

  • webwrite总是把PostName, PostValue将参数查询到消息体中,而不管RequestMethod的属性选项

  • 要指定代理服务器设置,请参见代理服务器认证

介绍了R2015a