web-dev-qa-db-fra.com

SUPPRIMER en utilisant CURL avec une URL encodée

J'essaie de faire une requête en utilisant CURL comme ceci:

curl -X DELETE "https://myhost/context/path/users/OXYugGKg207g5uN/07V" 

OXYugGKg207g5uN/07V est un hachage, donc je suppose que je dois encoder avant de faire cette requête.

J'ai essayé curl -X DELETE --data-urlenconded "https://myhost/context/path/users/OXYugGKg207g5uN/07V"

Quelques idées?

50
coffee

Si vraiment OXYugGKg207g5uN/07V est le hachage, vous devez donc encoder cela, pas l’URL complète. Vous pouvez utiliser une fonction d'encodage disponible dans l'environnement dans lequel vous utilisez cURL.

11
arkascha

Essaye ça

curl -X DELETE "https://myhost/context/path/users/$(echo -ne "OXYugGKg207g5uN/07V" | xxd -plain | tr -d '\n' | sed 's/\(..\)/%\1/g')"

C'est équivalent à

curl -X DELETE "https://myhost/context/path/users/%4f%58%59%75%67%47%4b%67%32%30%37%67%35%75%4e%2f%30%37%56"

Ici, chaque personnage est remplacé par sa représentation en octets ... Je ne pense pas que ce soit particulièrement joli, mais ça marche.

16
knugie