我正在尝试从软件系统中提取数据。没有可用的体面的API。相反,系统(利基教育软件)允许用户在程序内创建查询,然后通过如下URL获取数据:
https://[SCHOOLNAME-URL].nl:8800/?Library=Data&Function=GetData&SessionToken=[USERNAME];[PASSWORD]&Layout=[PASSWORD]&type=xml
为了允许此类端点的用户添加参数以进一步指定他们想要的数据,您可以通过这种方式在查询中添加带有数字符号(#)的参数。
WHERE period = #schoolyear#
然后,用户可以在URL中添加类似的内容(将'='编码为'%3D'):
¶meters=schoolyear%3D20182019
文档中提到应该有多个参数,但是非常有限,并且没有提及如何实现。我尝试了以下版本(分别以';'分隔参数,';'的编码值和'&'的编码值:
¶meters=parameter1%3Dvalue1;parameter2%3Dvalue2
¶meters=parameter1%3Dvalue1;parameter2%26value2
¶meters=parameter1%3Dvalue1;parameter2%3Bvalue2
这些解决方案都不起作用,并且没有可用的软件生产商提供支持。也没有错误反馈。仅显示“发生未知错误”之类的消息。
有人会建议以这种方式添加多个参数的通用方法吗?