Last active
June 20, 2024 12:06
-
-
Save westfly/ed7e25ee4353751d94132f92837a7074 to your computer and use it in GitHub Desktop.
urlencode for shell
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function urlencode() { | |
local data | |
if [[ $# != 1 ]]; then | |
echo "Usage: $0 string-to-urlencode" | |
return 1 | |
fi | |
data="$(curl -s -o /dev/null -w %{url_effective} --get --data-urlencode "$1" "")" | |
if [[ $? == 0 ]]; then | |
echo "${data##/?}" | |
fi | |
return 0 | |
} |
echo $1 | perl -MURI::Escape -lne 'print uri_escape($_)'
just use
curl --data-urlencode 'key=val' URL
is OK. do not use other useless scripts.
A bash script that works based on the one in this gist:
#!/bin/sh
set -eu
# SAVE THIS FILE AND GIVE IT EXECUTABLE PERMISSIONS
# Then execute it like this: ./urlencode.sh https://apibaas.io
# Output: https%3A%2F%2Fapibaas.io
Main() {
local input=${1? Missing the data to URL encode...}
local data="$(curl -s -o /dev/null -w %{url_effective} --get --data-urlencode "${input}" "")"
echo "${data##/?}"
}
Main "${@}"
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
do NOT use the above snippet, it's not reliable.