URL Encoding

URLs can only be sent over the internet using the ASCII character-set. URL encoding (also known as percent encoding) converts characters into a format that can be sent over the Internet, using a % followed by two hexadecimal digits. This ensures that URLs are properly formatted and can be interpreted correctly by web services.

For URLs, there are many reserved and common special characters:

  • Reserved Characters: Characters with special meanings or functions in URLs are reserved. These include !, *, ', (, ), ;, :, @, &, =, $, ,, /, ?, #, [, ], and more.

  • Unsafe Characters: Other characters outside of the ASCII character-set must be encoded, such as, ", <, >, \, {, }, |, ^, ~, [ , ], `.

  • Handling spaces: URLs cannot contain spaces. When encoding whitespace characters you have two options:

    • Using %20 (percent encoding); or

    • Using + (for building query strings).

How to URL Encode in IguanaX:

When using net.http.get{}, the parameters argument takes in a table of key-value pairs and automatically formats the query string. The url can also be hardcoded to handle query parameters if desired.

Here the request URL would be formatted as follows:

https://api.example.com/patient?name=John%20Doe

filter.uri.enc()can be used to URL encode strings with reserved and special characters in Iguana's Translator.

filter.uri.enc() will convert <spaces> to +. String:gsub() can be used to replace the + with %20 when required.

 

Â