Odmowa połączenia lub przekroczenie limitu czasu
Lekcja 18 z 47 w kursie Sieci komputerowe w terminalu w Coddy.
Gdy połączenie się nie powiedzie, dzieje się to na kilka określonych sposobów, a każdy z nich wskazuje na coś innego. curl informuje, który to przypadek, za pomocą kodu wyjścia — liczby, którą pozostawia po sobie polecenie, dostępnej jako $?.
curl -s http://127.0.0.1:9999/
echo $?Warto zapamiętać trzy kody:
- 0: powodzenie
- 7: odmowa połączenia — komputer odpowiedział, informując, że nic nie nasłuchuje pod tym adresem
- 28: przekroczono limit czasu — nic w ogóle nie odpowiedziało
7 oznacza szybko, a 28 — wolno; ta różnica pozwala postawić diagnozę. Odmowa oznacza, że dotarłeś do komputera i otrzymałeś jednoznaczną odmowę, więc adres jest prawidłowy, ale usługa nie działa. Przekroczenie limitu czasu oznacza, że Twoje żądanie zniknęło — zwykle dlatego, że zapora je odrzuciła albo adres jest nieprawidłowy.
Wyzwanie
TrudnySpowoduj oba błędy i odczytaj kody.
- Zażądaj strony z
http://127.0.0.1:9999/, gdzie nic nie nasłuchuje, i wypiszrefused=, a następnie kod wyjścia - Zrób to samo dla
http://10.255.255.1/, adresu, który pochłania ruch, z--max-time 2, i wypisztimeout=oraz jego kod wyjścia
Oczekiwany wynik:
refused=7
timeout=28
$?przechowuje kod wyjścia właśnie uruchomionego polecenia, więc odczytaj go od razu.
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ść3Porty 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