Comment envoyer une requête HTTP OPTIONS depuis la ligne de commande?

92

J'ai essayé d'utiliser cURL mais il semble que par défaut (Debian) n'est pas compilé avec le support HTTPS et je ne veux pas le construire moi-même.

wget semble avoir le support SSL mais je n'ai trouvé aucune information sur la façon de générer une requête HTTP OPTIONS avec wget.

Sorin
la source
2
Êtes-vous sûr qu'il ne prend pas en charge HTTPS? Peut-être qu'il n'est tout simplement pas disposé à accepter le certificat du site distant. L' -koption lui dit d'ignorer les erreurs de certificat, et cela peut aider.
Charles Engelke

Réponses:

133

Le curl installé par défaut dans Debian prend en charge HTTPS depuis longtemps. (il y a longtemps, il y avait deux packages séparés, un avec et un sans SSL mais ce n'est plus le cas)

OPTIONS / chemin

Vous pouvez envoyer une requête OPTIONS avec curl comme ceci:

curl -i -X OPTIONS http://example.org/path

Vous pouvez également utiliser -vau lieu de -ipour voir plus de sortie.

OPTIONS *

Pour envoyer un simple * (au lieu du chemin, voir RFC 7231 ) avec la méthode OPTIONS, vous avez besoin de curl 7.55.0 ou version ultérieure, car vous pouvez alors exécuter une ligne de commande comme:

curl -i --request-target "*" -X OPTIONS http://example.org
Daniel Stenberg
la source
9
Notez que vous devrez également utiliser l'indicateur "-v" si vous voulez voir la réponse (vérifiez l'en-tête "Allow").
pioto
13
-ifonctionne également pour vous permettre de voir la sortie et est un peu moins bruyant que-v
Dan Passaro
1
Une idée de la façon de l'envoyer OPTIONS *, comme décrit dans rfc2616 ?
théorie
2
@theory: ça arrive bientôt: daniel.haxx.se/blog/2017/06/19/options-with-curl
Daniel Stenberg