Encoder les URL

Encoder les URL

Notes › _DIFFUSION › Linux cli scripts

Utilisez urlencode depuis coreutils (GNU / BusyBox) ou les outils suivants :

Python (préinstallé)

1
printf '%s' 'X-Email: ntfy@cinay.eu, Priority: low' | python3 -c "import sys,urllib.parse as u; print(u.quote(sys.stdin.read().strip()))"

Perl

1
printf '%s' 'X-Email: ntfy@cinay.eu, Priority: low' | perl -MURI::Escape -ne 'chomp; print uri_escape($_),"\n"'

jq (if input as JSON string)

1
printf '%s' 'X-Email: ntfy@cinay.eu, Priority: low' | jq -s -R -r @uri

xxd + sed (no deps) — simple hex-escape

1
printf '%s' 'X-Email: ntfy@cinay.eu, Priority: low' | xxd -plain -u | sed 's/\(..\)/%\L\1/g' | tr -d '\n'

curl –data-urlencode (build query param):

1
curl -G --data-urlencode "headers=X-Email: ntfy@cinay.eu, Priority: low" "" -s

Choisissez-en une, les méthodes Python ou JQ sont les plus simples et sûres.