Menu
CoddyTech

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/signup

W 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.

challenge icon

Wyzwanie

Ekspert

Wyślij swoje pierwsze POST i odczytaj, co otrzymał serwer.

  1. Uruchom nasłuchujący program przechwytujący na porcie 9122 (odpowiada kodem 200 i zapisuje żądanie do pliku req.txt)
  2. Wyślij POST z name=ada do http://127.0.0.1:9122/signup
  3. Wyświetl pierwszy wiersz pliku req.txt

Oczekiwany wynik:

POST /signup HTTP/1.1

Ustaw dla curl --max-time 3, żeby nie czekał w nieskończoność, i odrzuć jego wynik.

Spróbuj swoich sił

Terminal
quiz iconSprawdź 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

Poćwicz samodzielnie: Edytor online Terminal