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/signupW chwili, gdy dodasz tę opcję, dzieją się dwie rzeczy. curl zmienia metodę z GET na POST bez pytania o zgodę i dołącza podane przez Ciebie dane jako treść żądania.
Zatem -d nie oznacza po prostu „dodaj dane” — zmienia rodzaj żądania. Jeśli chcesz wysłać żądanie POST bez żadnego ciała, musisz samodzielnie podać -X POST.
GET umieszcza parametry w adresie URL, gdzie wszyscy mogą je zobaczyć i zapisać w logach, natomiast POST umieszcza je w ciele żądania. Dlatego formularze z hasłami używają POST: nie dlatego, że ciało jest szyfrowane — nie jest — ale dlatego, że adresy URL trafiają do historii przeglądarki, logów serwera i nagłówków Referer.
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