Filtr v adrese obsahuje znaky, které v URL nemají svůj běžný význam — typicky >, <, mezeru nebo &. Pokud je nezakódujete, požadavek neprojde.
Jak se to projeví
Co v adrese je | Co dostanete |
Neplatná úniková sekvence (např. samotné |
|
Rozbitý filtr (např. chybějící závorka) |
|
Nezakódovaný znak, který filtr rozbije jinak (např. |
|
Mezera nebo | Požadavek většinou odmítne už samotný klient a vůbec jej neodešle. |
Jak filtr zakódovat
Nejčastěji potřebné znaky:
Znak | V adrese |
mezera |
|
|
|
|
|
|
|
|
|
|
|
Správně zakódovaný příkaz pak vypadá takto:
curl -u uzivatel:heslo -k -L -f \
"https://server:5434/c/{firma}/faktura-vydana/(datSplat%3Enow()).xml" \
-o ds.xml
💡 Ruční kódování si můžete odpustit — většina knihoven má na to hotovou funkci (v Pythonu urllib.parse.quote, v PHP rawurlencode, v JavaScriptu encodeURIComponent). Filtr napsaný nezakódovaně v adresním řádku prohlížeče se také zakóduje sám, takže jej stačí zkopírovat zpět do schránky.
⚠️ Adresu uzavřete do uvozovek. Bez nich si znaky jako &, ( a ) vyloží shell po svém a odešle se něco jiného, než jste napsali.
