我需要发送GET请求。其中一个参数中包含网址查询字符(例如?
,&
和=
)。在发送请求之前,如何在KRL中对其进行URI编码?
这是伪编码的想法:
params = "key=value&key=value";
encoded_params = params.urlencode();
request = datasource:service("?data=#{encoded_params}");
答案 0 :(得分:2)
您可以在调用数据源时传递字符串或结构。使用哈希时,哈希值由平台自动进行URL编码。
上面的代码就是这样编写的:
rparams = {
"key1": "value1",
"key2": "value2"
};
request = datasource:service(rparams);
TADA!魔法。
请注意,我在哈希声明中使用了字符串文字,但这些字符串文字可以是任何表达式,并且这些值将作为数据源请求中的参数传递。
答案 1 :(得分:1)
另见http://docs.kynetx.com/docs/URI
escaped = uri:escape("a b c d"); // "a%20b%20c%20d"
original = uri:unescape(escaped); // "a b c d"