URI-кодирование строки - PullRequest
       4

URI-кодирование строки

2 голосов
/ 10 апреля 2011

Мне нужно отправить запрос GET.Один из параметров содержит символы запроса URL (например, ?, & и =).Как мне URI-кодировать это в KRL перед отправкой запроса?

Вот идея с псевдокодированием:

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

Ответы [ 2 ]

2 голосов
/ 10 апреля 2011

Вы можете передать строку или структуру при вызове источника данных. Когда вы используете хеш, значения хеша автоматически кодируются URL-адресом платформой.

Ваш код выше будет написан так:

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

TaDa! Магия.

Обратите внимание, что я использовал строковые литералы в объявлении хеша, но это могут быть любые выражения, и значения будут переданы в качестве аргументов в запросе источника данных.

1 голос
/ 21 мая 2011

См. Также 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"
...