在 MatLab 中使用带方括号的 URL

Using a URL with square brackets in MatLab

我正在使用 webread 从 RESTful 网络服务下载数据。 URL 构造为:

'http://someurl/service.php?query=data&options'

选项之一是“&includesensors[]=XXX”,其中 XXX 是传感器类型。此选项失败,因为 MatLab 将方括号转换为 '&includesensors%5B%5D=XXX'

知道如何让 MatLab 通过这个选项而不弄乱它吗?

尝试在大括号中键入括号:{[}

Matlab 使用 LaTeX 格式。在这种情况下,方括号具有特定含义,因此您必须使用大括号将其转义。

我的错误是构建 url 然后将其传递给 webread,例如:

url = 'http://someurl/service.php?query=data&includesensors[]=XXX'
data = webread(url);

这导致选项(包括“[]”)被传递给 urlencode(我猜)

但正确的做法是:

url = 'http://someurl/service.php';
data = webread(url,'query','data','includesensors','XXX');

哪个工作正常。