2011-04-09 29 views
2

我需要發送一個GET請求。其中一個參數包含URL查詢字符(例如,?,&=)。在發送請求之前,我如何在KRL中進行URI編碼?URI編碼一個字符串

這裏的pseudocoded想法:

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

回答

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" 
+0

你需要一個冒號那裏而不是句點(由'unescape')。 – 2011-05-21 03:31:54

+0

已修復。我一直這樣做(doh!) – 2011-05-21 13:38:28

2

您可以傳遞一個字符串或結構,當你調用一個數據源。當您使用哈希時,哈希值由平臺自動進行URL編碼。

你上面的代碼會被寫成像這樣:

rparams = { 
    "key1": "value1", 
    "key2": "value2" 
}; 
request = datasource:service(rparams); 

田田!魔法。

請注意,我用字符串文字中的散列聲明,但這些可以是任何表情,和值將作爲數據源請求的參數傳遞。