User Agent
Lekcja 44 z 47 w kursie Sieci komputerowe w terminalu w Coddy.
Każde żądanie informuje w nagłówku User-Agent, co je wysłało. curl wysyła własną nazwę i wersję; przeglądarka wysyła długi, historyczny ciąg znaków.
To ma większe znaczenie, niż mogłoby się wydawać. Serwery rutynowo zachowują się inaczej w zależności od tego nagłówka: wyświetlają układ mobilny, blokują nieznanych klientów lub odrzucają wszystko, co wygląda na zautomatyzowane. Dlatego „działa w mojej przeglądarce, ale nie w curl” często oznacza właśnie ten nagłówek i nic więcej.
curl -s -A 'my-monitor/1.0' http://127.0.0.1:9133/-A ustawia ten nagłówek i jest po prostu skróconą formą -H 'User-Agent: ...'.
Jeśli wysyłasz zautomatyzowane żądania do usługi, ustawienie uczciwego nagłówka User-Agent z nazwą twojego narzędzia to dobry zwyczaj: gdy twój ruch spowoduje problem, osoba pełniąca dyżur będzie mogła ustalić, co go wywołało i z kim się skontaktować.
Wyzwanie
TrudnyPrzedstaw się zgodnie z prawdą.
- Uruchom nasłuchiwanie przechwytujące na porcie 9133
- Wyślij żądanie, identyfikując się jako
my-monitor/1.0 - Wyświetl wiersz user agenta z pliku
req.txt
Oczekiwany wynik:
User-Agent: my-monitor/1.0Spró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
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