Curl śledź przekierowanie

Curl śledź przekierowanie
Curl to potężne narzędzie wiersza poleceń, które ułatwia transfer danych w szerokim zakresie protokołów, w tym HTTP/HTTPS, FTP, Gopher itp.

Niezależnie od tego, czy buduje i debugowanie prostych żądań, czy złożonych interfejsów API, Curl jest doskonałym narzędziem w Twoim zestawie umiejętności.

Ten samouczek zbada koncepcję przekierowań HTTP i sposób, w jaki możemy użyć Curl, aby śledzić je na żądanie.

Co to jest przekierowanie HTTP?

Przekierowanie HTTP, powszechnie znane jako przekierowanie, odnosi się do techniki, w której dany adres zwraca instrukcję przekierowania, zamiast zwracać żądane zasoby lub dokument.

Zasadniczo to, co sugeruje nazwa. Gdy klient żąda określonego zasobu, zamiast serwera odpowiadającego wyniku zapytania, mówi klientowi, aby szukał zasobu w innej lokalizacji.

Poniższy obraz pokazuje podstawową koncepcję przekierowania HTTP.

Źródło: Mozilla Developer Network.

Poniżej znajduje się prosty nagłówek przekierowania HTTP.

HTTP/1.1 301 poruszonych na stałe

Lokalizacja: https: // linuxhint.com

W powyższym przykładzie serwer mówi nam, że adres http: // linuxhint.com przeniósł się na stałe do https: // linuxhint.com

Istnieją dwa główne rodzaje przekierowań:

  1. Stałe przekierowania
  2. Tymczasowe przekierowania

Stałe przekierowania

Są to przekierowania, które trwają i nie są ważne dla tego konkretnego żądania. Stały przekierowanie mówi klientowi, że żądany zasób na stałe przeniósł się na nowy adres. Stałe przekierowanie jest oznaczone przez kod stanu HTTP 301.

Tymczasowe przekierowania

Z drugiej strony tymczasowe przekierowania informują klienta, że ​​serwer chciałby przekierować nowy zasób. Jednak ten przekierowanie nie jest trwałe i nie powinno buforować tego przekierowania. Oznacza to, że przekierowanie nie będzie tam później.

Ten rodzaj przekierowania jest oznaczony przez kod stanu HTTP 302.

Teraz mamy podstawy przekierowań HTTP, nauczmy się, jak powiedzieć Curl, aby śledzić reakcję przekierowania.

Curl śledź przekierowanie

Curl pozwala śledzić przekierowanie za pomocą flagi -L. Ta flaga pochodzi z nagłówka lokalizacji w operacji przekierowania.

Składnia poleceń jest jak pokazano:

$ curl -l [url]

Przykładem prostego przekierowania Curl jest jak pokazano:

curl -l http: // linuxhint.com

Zestaw curl max przekierowuje

Kiedy pozwalasz na przekierowania Curl, może wykonywać do 50 przekierowań. Możesz jednak ustawić niestandardową wartość przekierowania za pomocą parametru -max -Redirs.

Składnia jest jak pokazana:

$ curl -l - -Max -Redirs [liczba] [url]

Na przykład, aby ustawić maksymalnie 5 przekierowań, możemy uruchomić:

$ curl -l - -Max -Redirs 5 http: // Linuxhint.com

Curl włącza nieskończone przekierowania

Nie ma wątpliwości, że Curl spróbuje cię chronić przed wykonywaniem nieskończonych przekierowań. Stąd, jeśli złożycie wniosek, które zwróci więcej niż 20 przekierowań, Curl automatycznie anuluje żądanie.

Możesz jednak zastąpić tę opcję, ustawiając parametr -max -Redirs na -1

Składnia jest jak pokazana:

$ curl -l - -Max -Redirs -1 [url]

Curl Zapobiegaj konwersji metody HTTP

Jeśli napotkasz przekierowanie podczas składania żądania pocztowego HTTP, Curl konwertuje żądanie na żądanie GET.

Możesz jednak zapobiec konwersji Curl, aby uzyskać, gdy napotkał ono 301, 302 i 303 przekierowawcze za pomocą parametru -post [status_code].

Pokazana jest składnia:

$ curl -l - -post [status_code] [url]

Na przykład, aby zapobiec konwersji Curl w celu uzyskania, gdy napotyka przekierowanie 301:

$ curl -l - -post301 [url]

Curl Authenticate przekierowanie

Przy składaniu wniosku może być konieczne dostarczenie poświadczeń autoryzacji. Jeśli jednak Curl napotknie przekierowanie, zapobiegnie wysłanie poświadczeń ze względów bezpieczeństwa.

Możesz to zastąpić, ustawiając parametr -lokacja Trust.

Składnia jest jak pokazana:

$ curl -l -Lokalia -Trusted -User „Użytkownik: hasło”

Wniosek

Korzystając z tego samouczka, odkryliśmy, jak wykonywać operacje przekierowania za pomocą Curl. Opisaliśmy takie pojęcia, jak po prostym przekierowaniu, ustawienie liczby przekierowań, nieskończone przekierowania i uwierzytelnianie Curl w przekierowaniu.