URI编码字符串

时间:2011-04-09 23:54:13

标签: krl

我需要发送GET请求。其中一个参数中包含网址查询字符(例如?&=)。在发送请求之前,如何在KRL中对其进行URI编码?

这是伪编码的想法:

params = "key=value&key=value";
encoded_params = params.urlencode();
request = datasource:service("?data=#{encoded_params}");

2 个答案:

答案 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"