Passer une URL avec des crochets à Boucler

si j'essaie de passer une URL à curl qui contient des parenthèses, elle échoue avec une erreur:

$ curl 'http://www.google.com/?TEST[]=1'
curl: (3) [globbing] illegal character in range specification at pos 29

cependant, si j'échappe aux deux crochets, il semble fonctionner:

$ curl 'http://www.google.com/?TEST\[\]=1'

fait intéressant, j'utilise un antislash pour échapper seulement le premier support il échoue silencieusement avec le code d'erreur 20497:

$ curl 'http://www.google.com/?TEST\[]=1'
$ echo $!
20497

ma question Est comment corriger cela pour les cas généraux? Y a-t-il un argument qui échappera Url automatiquement, ou une description des caractères doivent être échappés avant de passer à friser?

241
demandé sur webster 2011-12-01 02:31:40
la source

1 ответов

tant pis, je l'ai trouvé dans la doc:

-g/--globoff
              This  option  switches  off  the "URL globbing parser". When you set this option, you can
              specify URLs that contain the letters {}[] without having them being interpreted by  curl
              itself.  Note  that  these  letters  are not normal legal URL contents but they should be
              encoded according to the URI standard.
376
répondu chaimp 2011-12-01 02:37:42
la source

Autres questions sur curl url