如何在Matlab中设置HTTP POST请求的正文

3
我正在尝试使用Matlab向一个RESTful服务发布内容。我已经尝试过webread、webwrite和urlread,但我无法弄清如何设置消息正文。
我的正文是json格式的,看起来像这样:
{"Item1": "string1", "Item2": "string2"}

您正在尝试向服务发布内容,那么您是否尝试过使用webwrite而不是webread - Falimond
是的,我有。抱歉没有列出来。我还尝试了在weboptions对象中使用post的webread。 - toshiomagic
你尝试过按照文档第一段所述将项目名称和值分别传递吗?http://www.mathworks.com/help/matlab/ref/webwrite.html - Falimond
是的,它返回了一个500错误 :/ - toshiomagic
我没有用过 postman。你试过通过 Matlab 发布到其他服务吗,以确保问题不是出在你这边,并且你使用的语法是全部正确的吗? - Falimond
显示剩余2条评论
1个回答

5

我发现自己犯了一个错误。我将我的主体构建成字符串文字,而不是Matlab结构体。正确的方法:

api = 'http://myurl.net';
url = [api, '/Login'];
[un, pw] = GetAuthentication;
input = struct('Username',un,'Password',pw);
opts = weboptions('MediaType','application/json');
userInfo = webwrite(url, input, opts);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接