W tym artykule ma na celu wykazanie, w jaki sposób można użyć funkcji żądań put (), aby wysłać żądanie PUT do określonego adresu URL. Hipertext Transfer Protocol (HTTP), którego zatrudnia na całym świecie, obsługuje tę samą technikę żądania PUT. Metoda PUT wysyła żądanie do serwera, pytając, czy załączone dane można zapisać w ramach podanego adresu URL. Jeśli adres URL prowadzi do zasobu, który już istnieje, serwer go zmodyfikuje; Jeśli jednak adres URL nie prowadzi do zasobu, który już istnieje, serwer będzie mógł utworzyć zasób za pomocą tego URI. Korzystając z argumentu danych żądania PUT, można również wysłać dodatkowe dane.
Jeśli zasób gdzieś na dostarczonym adresie jeszcze nie istnieje, serwer powinien go również utworzyć i zwrócić kod odpowiedzi 201, który zwykle odnosi się do „utworzonego”. Serwer zwróci kod stanu 200 (OK) lub 204 (bez treści), jeśli zasób został zaktualizowany. Nagłówek typu treści wskazuje typ danych podany w treści komunikatu Put. Załóżmy, że serwer nie jest w stanie zidentyfikować danych, które zostały dostarczone lub jeśli dane są nieprawidłowe w kontekście, w którym są używane. Serwer powinien zwrócić kod stanu 501, który oznacza „nie zaimplementowany” lub kod stanu 400, co oznacza „złe żądanie”.
Składnia
Poniżej znajduje się składnia metody żądań PUT. Wymaga trzech parametrów: adres URL strony internetowej (wymagane), paramenty lub dane, które można użyć do wysyłania dowolnych danych w formacie słownika, oraz argumentów.
Przykład nr 01
Spójrzmy na bardzo podstawowy przykład, aby zobaczyć, jak działają żądania PUT. Pierwszą akcją jest włączenie biblioteki żądań Pythona. Następnie zadeklarowana jest zmienna o nazwie „URL”, zawierająca adres URL strony internetowej, do którego wyślemy żądanie. W takim przypadku strona internetowa jest dostarczana w zmiennej. Odpowiedź metody PUT „PUT jest przechowywana w zmiennej. Ta odpowiedź służy do wyświetlania dwóch różnych wyjść. Jednym z nich jest kod stanu, który zawiera wynik żądania wysłanego z serwera witryny.
Drugie to rozumowanie, które zwraca tekst powiązany z informacjami nagłówka. W takim przypadku otrzymujemy 400 jako kod stanu, który wskazuje, że serwer nie jest w stanie wykonać żądania z powodu czegoś, co jest uważane za błąd klienta.
Odpowiedni komunikat jest wyświetlany na podstawie przyczyny „złego żądania”.
Przykład nr 02
W tym przykładzie będziemy wysyłać dane JSON do dostarczonego adresu URL. Pierwszą rzeczą jest dołączenie pakietu żądań Pythona. Tym razem wyślemy dwa parametry w metodzie PUT; URL strony internetowej i dane JSON. Dane JSON są przechowywane w zmiennej „A” z wartością i kluczem. Odpowiedź obiektu żądania PUT jest przechowywana w zmiennej „B”. Wyświetlany jest kod statusu odpowiedzi, dając nam wartość 200, co wskazuje, że złożone żądanie zakończyło się powodzeniem. Również wyświetlane są również dane JSON. Typ danych (JSON) i klucz są przekazywane jako parametry, które wyświetlają dane jako odpowiedź.
Jest to pokazane na poniższym zrzucie ekranu.
Przykład nr 03
W tym przykładzie nauczymy się nowej funkcji limitu czasu i użyjemy jej z żądaniem PUT, aby zapobiec zawieszeniu programu na czas nieokreślony. Możesz zdefiniować maksymalny czas (w sekundach) dla odpowiedzi na wykonanie za pomocą opcji „limit czasu”. O ile nie podasz, żądania nie mają domyślnego limitu czasu. Ustawienie limitu czasu dla prawie wszystkich żądań jest zalecane. W przeciwnym razie twój kod może zamarznąć, a program może stać się nie reagujący. Jeśli zdalny serwer jest powolny lub chcesz poczekać na zakończenie żądania, możesz poinstruować bibliotekę żądania, aby czekał na czas nieokreślony, dostarczając „Brak” jako wartość parametrów limitu czasu.
Na początek musimy dodać moduł żądań do Pythona. URL strony internetowej jest przechowywana w zmiennej „URL”, a odpowiedź metody PUT jest przechowywana w zmiennej „x”. Tym razem dostarczany jest parametr limitu czasu o wartości „8” wraz z adresem URL strony internetowej. Funkcja drukowania pokazuje następnie kod odpowiedzi i towarzyszące jej uzasadnienie. Kod stanu 402 i odpowiedni powód „zabroniony” wskazują, że z powodu pewnego błędu od klienta serwer nie jest w stanie przetworzyć żądania z powodów poufnych. Ale nie wygenerowano błędu limitu czasu, co wskazuje, że żądanie zostało wysłane, a odpowiedź została odebrana w określonym czasie (8 sekund).
Przykład nr 04
W tym przykładzie dowiemy się o nagłówkach odpowiedzi. Nagłówki odpowiedzi HTTP dostarczają informacji na temat odpowiedzi, takich jak typ zawartości (tekst), kod stanu HTTP i kodowanie znaków wymagane do wyświetlania znaków.
Moduł żądań musi zostać zaimportowany wcześniej. Następnie obiekt odpowiedzi metody żądania Put jest przechowywany w zmiennej o nazwie „Odpowiedź”. Dostarczone parametry to adres URL witryny i dane o wartościach i ich odpowiednich klawiszach. Następnie wyświetlana jest odpowiedź nagłówka, która zawiera informacje takie jak typ treści, długość treści, typ połączenia, data, serwer itp., który pokazano na zrzucie ekranu poniżej. Parametry podane w funkcji PUT przedstawiły klasę biblioteki żądań, aby podać wszystkie szczegóły dotyczące strony podanej w linku HTTP. W wyjściu możemy zobaczyć rodzaj obecnej zawartości, długość kontaktu, czas żądania, a nawet nazwę serwera. Wyjście tej funkcji można zmienić zgodnie z naszymi potrzebami i możemy uzyskać wszystkie pożądane informacje w odpowiedzi, umieszczając odpowiednie argumenty w funkcji.
Wniosek
Użyj PUT, aby edytować jeden zasób już część grupy zasobów. Zasób jest zastąpiony podczas korzystania z Put. Put jest zawsze używany do procedur aktualizacji. Podczas pracy z żądaniami HTTP PUT niektóre rzeczy, o których należy pamiętać, to to, że nigdy nie są buforowane, nie pozostają w historii Internetu, nie mogą być zapisane i nie mają ograniczeń długości danych. W tym artykule pokazano cztery przykłady wysyłania żądania PUT na serwer.