Jak wysłać żądanie HTTP OPTIONS z wiersza poleceń?

93

Próbowałem użyć cURL, ale wygląda na to, że domyślnie (Debian) nie jest skompilowany z obsługą HTTPS i nie chcę go samodzielnie budować.

wget wydaje się, że obsługuje SSL, ale nie znalazłem informacji o tym, jak wygenerować żądanie HTTP OPTIONS za pomocą wget.

sorin
źródło
2
Czy na pewno nie obsługuje protokołu HTTPS? Może po prostu nie chce zaakceptować certyfikatu strony zdalnej. Ta -kopcja nakazuje ignorować błędy certyfikatów, co może pomóc.
Charles Engelke,

Odpowiedzi:

136

Curl zainstalowany domyślnie w Debianie obsługuje HTTPS od bardzo dawna. (dawno temu istniały dwa oddzielne pakiety, jeden z SSL i jeden bez, ale już tak nie jest)

OPCJE / ścieżka

Możesz wysłać żądanie OPCJI z curl w następujący sposób:

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

Możesz także użyć -vzamiast, -iaby zobaczyć więcej wyników.

OPCJE *

Aby wysłać zwykły * (zamiast ścieżki, patrz RFC 7231 ) metodą OPTIONS, potrzebujesz curl 7.55.0 lub nowszego, ponieważ wtedy możesz uruchomić wiersz poleceń, taki jak:

curl -i --request-target "*" -X OPTIONS http://example.org
Daniel Stenberg
źródło
9
Zauważ, że będziesz musiał użyć flagi „-v”, jeśli chcesz zobaczyć odpowiedź (poszukaj nagłówka „Zezwalaj”).
pioto
14
-idziała również tak, abyś mógł zobaczyć wyjście i jest nieco mniej hałaśliwy niż-v
Dan Passaro,
1
Masz jakiś pomysł, jak go wysłać OPTIONS *, jak opisano w rfc2616 ?
teoria
2
@theory: już wkrótce: daniel.haxx.se/blog/2017/06/19/options-with-curl
Daniel Stenberg