POST z -d
Lekcja 32 z 47 w kursie Sieci komputerowe w terminalu w Coddy.
Jak dotąd każde żądanie o coś prosiło. -d wysyła coś zamiast tego:
curl -s -d 'name=ada' http://127.0.0.1:9122/signupGdy tylko dodasz tę opcję, dzieją się dwie rzeczy. curl przełącza metodę z GET na POST, nawet jeśli go o to nie prosisz, i dołącza to, co mu przekazano, jako treść żądania.
Zatem -d to nie tylko „dodaj dane” — zmienia rodzaj żądania. Jeśli chcesz wysłać POST bez żadnej treści, musisz samodzielnie podać -X POST.
GET umieszcza parametry w adresie URL, gdzie każdy może je zobaczyć i gdzie są rejestrowane, a POST umieszcza je w treści. Dlatego formularze z hasłami używają POST: nie dlatego, że treść jest szyfrowana — bo nie jest — lecz dlatego, że adresy URL trafiają do historii przeglądarki, logów serwera i nagłówków odsyłających.
Wyzwanie
EkspertWyślij swoje pierwsze POST i odczytaj, co otrzymał serwer.
- Uruchom nasłuchujący program przechwytujący na porcie 9122 (odpowiada kodem 200 i zapisuje żądanie do pliku
req.txt) - Wyślij POST z
name=adadohttp://127.0.0.1:9122/signup - Wyświetl pierwszy wiersz pliku
req.txt
Oczekiwany wynik:
POST /signup HTTP/1.1Ustaw dla curl
--max-time 3, żeby nie czekał w nieskończoność, i odrzuć jego wynik.
Spróbuj swoich sił
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Sieci komputerowe w terminalu
4Czy jest osiągalny?
ICMP i pingOdczytywanie wyników pingGdy ping kłamieOdmowa połączenia lub przekroczenie limitu czasuPodsumowanie: osiągalność7Wysyłanie danych
POST z -dCo tak naprawdę wysyła -dKodowanie formularzaWysyłanie JSONPUT i DELETEPodsumowanie: zapisywanie danych3Porty i gniazda
Czym jest portDobrze znane portyLocalhostNasłuchiwanie a łączeniePodsumowanie: porty6curl od podstaw do zaawansowania
Wyświetlanie nagłówkówZapisywanie odpowiedziWłasne nagłówkiStatus i czasKody zakończenia curlPodsumowanie: flagi curl9Uwierzytelnianie i debugowanie
Klucze API i BearerUser AgentLimity czasu i ponowieniaAnaliza błęduPodsumowanie: debugowaniePoćwicz samodzielnie: Edytor online Terminal