To jest polecenie dacshttp, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
dacshttp - wykonaj żądanie HTTP/HTTPS
STRESZCZENIE
dacshttp [-dostać | -Poczta | -kasować | -głowa | -opcje | -opcje | -położyć] [-NS poziom_logowania]
[-podpowiedź] [-v] [--wersja] [[-ct ciąg] | [--Typ zawartości ciąg]]
[{-nagłówek Nazwa wartość}...] [-nagłówki filename] [-ciało filename] [-tak]
[-agent użytkownika ciąg] [{-p Nazwa wartość}...] [-proto numer wersji]
[-pełnomocnik host proxy:Port proxy]
[-dopasowanie pośrednie hosta[:Port] host proxy:Port proxy] [-f Nazwa filename]
[{-ciasteczka filename}...] [-ach] [-ssl wiersza polecenia] [-flagi-ssl Flagi] Linki
OPIS
Ten program jest częścią DAC zestaw. Jest to samodzielny program, którego żaden nie akceptuje
zwykły DAC opcje wiersza poleceń (dacopcje[1]) ani nie uzyskuje dostępu do żadnego DAC konfiguracja
akta.
To narzędzie ogólnego przeznaczenia wysyła żądanie HTTP/HTTPS dla Linki na serwer WWW i
wypisuje odpowiedź na standardowe wyjście.
dacshttp będzie automatycznie podążał za przekierowaniami zgodnie z RFC 2616[2] i do a
maksymalny czas kompilacji, chyba że -podpowiedź flaga jest podana. Niestandardowym rozszerzeniem jest to, że a
przekierowanie na nieabsolutny URI jest interpretowane w sposób zgodny z większością przeglądarek.
W wersjach 1.4.27b i wcześniejszych wywoływano to polecenie http.
Note
DAC może wysyłać własne żądania HTTP, takie jak from dacs_authenticate do zewnętrznego
moduł uwierzytelniający. Tę funkcjonalność HTTP zapewnia ten sam kod pomocniczy
że dacshttp polecenia, a zatem wiele z poniższych informacji
dotyczy również żądań generowanych wewnętrznie (np. HTTP_PROG[3], SSL_PROG[4],
SSL_PROG_ARGS[5], SSL_PROG_CA_CRT[6], SSL_PROG_CLIENT_CRT[7], VFS[8]).
OPCJE
Domyślnie używana jest metoda HTTP GET, ale niektóre flagi domyślnie wybierają inną
metoda (np. -f i -p). Do jawnego określenia pliku można użyć jednej z poniższych flag
Metoda HTTP, o ile jest kompatybilna z pozostałymi opcjami:
-dostać
Użyj metody GET (domyślnej).
-Poczta
Użyj metody POST.
-głowa
Skorzystaj z metody HEAD.
-położyć
Skorzystaj z metody PUT.
-kasować
Użyj metody USUŃ.
-opcje
Użyj metody OPCJE.
-opcje
Użyj metody OPCJE, ale zignoruj wszystko, co następuje po komponencie uprawnień Linki
i zamiast tego użyj specjalnego przypadku URI żądania „*”, co oznacza, że żądanie ma zastosowanie
do samego serwera, a nie do konkretnego zasobu.
Rozpoznawane są również flagi wiersza poleceń:
-ach
Jeżeli mają być przesyłane pliki cookies (dane uwierzytelniające) (patrz -ciasteczka), użyj nagłówka Authorization
zamiast nagłówka Cookie.
-ciało filename
Przeczytaj treść wiadomości z filename. Zakłada się, że ciało już było
odpowiednio sformatowany dla typu treści żądania.
-ciasteczka filename
Zdobądź pliki cookie z filename, po jednym w wierszu, do wysłania wraz z żądaniem za pomocą pliku cookie
nagłówek. Wiele plików cookie oddziela się średnikiem, który następuje po Netscape
specyfikacja[9]. Alternatywnie, wiele plików cookie można połączyć w jednym wierszu i oddzielić
średnikiem lub przecinkiem (po RFC 2109[10] lub RFC 2965[11]). Ten
Argument można powtórzyć.
-ct ciąg
--Typ zawartości ciąg
Ustaw nagłówek żądania Content-Type na ciąg. Jeśli żądanie ma treść jednostki, plik
domyślny typ zawartości to application/x-www-form-urlencoded; jeśli żądanie nie
mają treść encji, domyślnie nagłówek żądania Content-Type nie jest ustawiony.
-f Nazwa filename
Przekazuje i koduje zawartość filename jako wartość nazwy. Domyślnie
Wykorzystana zostanie metoda POST, chociaż można wybrać PUT i OPCJE. Jeśli filename is
"-", odczytywane jest standardowe wejście; tego formularza można użyć tylko raz w wierszu poleceń.
Argument ten można powtórzyć.
-nagłówek Nazwa wartość
Ta flaga, która może się powtarzać, powoduje pojawienie się nagłówka HTTP Nazwa: wartość z którym należy wysłać
prośba. Żaden Nazwa ani wartość są w jakikolwiek sposób sprawdzane.
Note
Nie spowoduje to zastąpienia nagłówków wymaganych lub sugerowanych przez inne flagi wiersza poleceń;
na przykład następujące flagi nie są równoważne:
-nagłówek Użytkownik-Agent foo
-agent użytkownika bla
W pierwszym przypadku nagłówek User-Agent zostanie wysłany dwukrotnie.
-nagłówki filename
Przeczytaj dodatkowe nagłówki wiadomości z filename, po jednym w wierszu i wyślij je za pomocą
wniosek (zob -nagłówek flaga). Flaga ta może się powtórzyć.
-tak
Dołącz nagłówki odpowiedzi HTTP do danych wyjściowych. Zakończone są pustą linią.
Linia stanu jest oznaczona jako „Linia stanu”.
-NS poziom_logowania
Ustaw poziom wyjściowy debugowania na poziom_logowania (Patrz daków(1)[12]). Domyślny poziom to
ostrzegam i -v flaga podnosi poziom w celu debugowania lub śledzenia.
-p Nazwa wartość
Przekazuje i koduje nazwę=wartość jako część treści jednostki. Domyślnie metoda POST
zostaną użyte, chociaż można wybrać PUT i OPCJE. Argument ten można powtórzyć.
-podpowiedź
Zapytaj użytkownika o pozwolenie na kontynuację po określonych zdarzeniach, takich jak otrzymanie wiadomości
przeadresować; odpowiedź jest twierdząca tylko wtedy, gdy brzmi „tak” lub „y”. Jeśli jest taka opcja
nie określono, akcja potwierdzająca zostanie podjęta automatycznie.
-proto numer wersji
Funkcja zgodna z numer wersji protokołu HTTP (np. 1.0).
-pełnomocnik host proxy:Port proxy
Przekazuj dalej wszystkie żądania HTTP (z wyjątkiem tych, które pasują do a -dopasowanie pośrednie flaga) do
serwer proxy pod adresem Port proxy (numeryczny numer portu lub rozpoznana nazwa usługi) on
host proxy (nazwa domeny lub adres IP). Serwer proxy nie jest w pełni obsługiwany przez dacshttp,
ale połączy się z określonym serwerem proxy zamiast z serwerem, o którym mowa
Linki.
-dopasowanie pośrednie hosta[:Port] host proxy:Port proxy
If hosta pasuje do hosta określonego w Linki, proxy dla żądania HTTP
host proxy (nazwa domeny lub adres IP) pod adresem Port proxy (numeryczny numer portu lub
rozpoznawalna nazwa usługi). Jeśli Port nie jest podany, przyjmuje się, że wynosi 80 (dla http
schemat) lub 443 (dla schematu https). Dopasowanie odbywa się poprzez rozwiązanie hosta do adresu IP
adres (jeśli to konieczne) i porównanie go z podanym efektywnym adresem IP
by Linki. Flaga ta ma pierwszeństwo przed flagą -pełnomocnik flagę, więc można się do tego przyzwyczaić
zastąpić domyślny serwer proxy.
Note
Ta opcja nie jest zaimplementowana. Flagi SSL mają zastosowanie do cała kolekcja znajomości; to jest
prawdopodobnie błąd.
-ssl wiersza polecenia
Ta flaga wskazuje, że ma być używany protokół HTTPS (tzn. HTTP przez połączenie SSL),
niezależnie od schematu określonego przez Linki, Bo dacshttp nie obejmuje bezpośrednio
Funkcjonalność SSL wykorzystuje potoki do komunikacji z zewnętrznym programem udostępniającym
połączenie SSL. The klient ssl(1)Polecenie [13] jest do tego zdecydowanie zalecane
cel (wersja 3.26 of stunnel(1) i tunel3, który jest dostarczany z niektórymi wydaniami
stunnel-4.x, może też zadziałać).
Kurs wiersza polecenia to kompletna linia poleceń powłoki, która będzie używana do uruchamiania programu
jako filtr. Na przykład ten argument może wyglądać następująco:
-ssl "/usr/local/dacs/bin/sslclient przykład.com:443"
-ssl "/usr/local/bin/stunnel -c -r przykład.com:443"
Jeśli -ssl argumentu nie ma, ale Linki argument wykorzystuje schemat https, dacshttp
nadal będę próbował używać protokołu SSL. Spróbuje użyć klient ssl(1)[13] i załóżmy, że jest
jego domyślną lokalizację. Jeśli -ssl argument jest obecny, ale określa tylko jeden ciąg znaków,
Zakłada się, że ten ciąg znaków jest ścieżką do klient ssl(1)[13]. Pierwszy przykład poniżej
będzie działać klient ssl(1)[13] z /tmp/sslclient, aby połączyć się z portem 443 w witrynie example.com;
drugi przykład ma ten sam efekt, ale zostanie uruchomiony klient ssl(1)[13] od wartości domyślnej
lokalizacja:
% dacshttp -ssl "/tmp/sslclient" https://example.com
% dacshttp https://example.com
-flagi-ssl Flagi
Jeśli operacja SSL jest włączona, ale -ssl flaga jest nieobecna lub po prostu nie określiła a
ścieżka, dołącz Flagi do listy argumentów, które mają zostać przekazane do zewnętrznego protokołu SSL
dostawca; kiedy -ssl flaga określa więcej niż jeden argument, flaga ta jest ignorowana.
Kurs Flagi string to oddzielona spacjami lista argumentów. Flaga ta może się powtórzyć.
Na przykład w tym przykładzie dacshttp chcę się przywołać klient ssl z dwoma argumentami -sm
i bobo.example.com:
% dacshttp -ssl-flags "-sm bobo.example.com" https://example.com
Jeśli używany jest certyfikat serwera z symbolami wieloznacznymi, może być konieczne jawne dopasowanie wszystkich
hosty w określonej domenie:
% dacshttp -ssl-flags "-sm .*\.example\.com" https://example.com
Ważny
Kiedy zadzwoniono do dacshttp, komunikaty o błędach generowane przez klient ssl może zostać utracony. Jeśli ty
napotkasz problemy z działaniem SSL, pracuj z klient ssl(1)[13], aby to zapewnić
można nawiązać połączenie SSL lub określić i rozwiązać problem. Jeśli
odkrywasz to klient ssl wymaga flag wiersza poleceń do prawidłowego działania, ty
będzie musiał się o tym przekonać dacshttp przekazuje mu te flagi.
-agent użytkownika ciąg
Ustaw nagłówek żądania User-Agent na ciąg. Jeśli nie zostanie podany, ten ciąg będzie miał
przedrostek „DACS-http/”, po którym następuje a DAC identyfikator wydania (przykład:
„DACS-http/1.4.1”).
-v
Zwiększ poziom wyników debugowania. Spowoduje to, że nagłówki odpowiedzi będą
wyświetlane np. Flaga może się powtarzać.
--wersja
Wydrukuj informacje o wersji na stderr, a następnie natychmiast wyjdź.
Kurs Linki argumentem jest adres URL do wywołania. Może zawierać sufiks ciągu zapytania (nawet jeśli HTTP
Wybrano opcję POST).
Niezależnie od tego, czy wybrano opcję pośrednią, czy jawną, w wierszu poleceń musi być dokładnie określone jedno z
metody HTTP.
Nagłówki żądań określone przy użyciu -nagłówek or -nagłówki flagi są wysyłane w kolejności w
których flagi pojawiają się w wierszu poleceń. Jeśli są odczytywane z pliku, tam jest porządek
jest obsługiwany.
PRZYKŁADY
Poniższe zostaną pobrane RFC 2616[2] i zapisz go w pliku rfc2616.txt:
% dacshttp "http://www.rfc-editor.org/rfc/rfc2616.txt" > RFC2616.txt
Spowoduje to wykonanie GET na podanym adresie URL, przekazując ciąg zapytania foo=bazi pisząc
wynik na standardowe wyjście:
% dacshttp "https://example.com/cgi-bin/dacs/dacs_prenv?foo=baz"
Spowoduje to wykonanie testu POST na podanym adresie URL, przekazując dwa argumenty:
% dacshttp -p foo baz -p bar zork https://example.com/cgi-bin/dacs/dacs_prenv
Spowoduje to wysłanie żądania metody HTTP GET przez SSL do podanego adresu URL:
% dacshttp -ssl "/usr/local/dacs/bin/sslclient example.com:443" \
https://example.com/cgi-bin/dacs/dacs_prenv
DIAGNOSTYKA
Program wychodzi 0, jeśli wszystko jest w porządku, 1, jeśli wystąpił błąd.
Użyj dacshttp online, korzystając z usług onworks.net