CodeGym /Kursy /Python SELF PL /Praca z siecią

Praca z siecią

Python SELF PL
Poziom 23 , Lekcja 2
Dostępny

3.1 Moduł requests

Do podstawowej pracy z internetem w Pythonie jest biblioteka requests. Ona oferuje wygodny interfejs do pracy z siecią, umożliwiając wysyłanie HTTP-zapytań i odbieranie odpowiedzi z minimalnym wysiłkiem.

Ta biblioteka nie jest dostarczana razem z Pythonem, więc przed jej użyciem musisz ją zainstalować za pomocą menedżera pakietów.

Otwórz swój terminal i wpisz:


pip install requests
        

Po zainstalowaniu biblioteki możesz używać modułu requests w swoich projektach. Na przykład, w ten sposób możesz określić swój zewnętrzny adres IP:


import requests

response = requests.get("http://ip.jsontest.com/")
print(response.status_code)  # Wyświetla status kod odpowiedzi
print(response.json())       # Wyświetla JSON-odpowiedź

Tu wysłaliśmy zapytanie do serwisu (strony) ip.jsontest.com, który zwraca JSON-obiekt z adresem IP, z którego zapytanie do niego przyszło. Samo zapytanie i odbiór odpowiedzi wykonuje się w jednej linii — to bardzo wygodne. W pozostałych liniach po prostu wydrukowaliśmy odpowiedź serwera.

W przykładzie powyżej wywołaliśmy metodę get(), poniżej opowiem o tej metodzie i innych metodach obiektu requests.

3.2 Lista metod

Obiekt requests ma metody na wszystkie przypadki, a właściwie po jednej metodzie na każdy typ HTTP-zapytania.

Metoda Opis
requests.get() Wysyła GET-zapytanie do pobrania danych z serwera.
requests.post() Wysyła POST-zapytanie do wysłania danych na serwer.
requests.put() Wysyła PUT-zapytanie do aktualizacji danych na serwerze.
requests.delete() Wysyła DELETE-zapytanie do usunięcia danych z serwera.
requests.head() Wysyła HEAD-zapytanie do pobrania nagłówków bez ciała odpowiedzi.
requests.options() Wysyła OPTIONS-zapytanie do pobrania obsługiwanych metod i parametrów serwera.
requests.patch() Wysyła PATCH-zapytanie do częściowej aktualizacji danych na serwerze.
requests.request() Podstawowa metoda do wysyłania wszystkich typów HTTP-zapytań.

Poniżej omówimy najważniejsze z nich.

3.3 Wysyłanie GET-zapytania i POST-zapytania

GET-zapytanie zazwyczaj składa się tylko z URL, lub może zawierać dodatkowy ciąg parametrów.

1. Wysyłanie czystego GET-zapytania

GET-zapytanie jest używane do pobierania danych z serwera. Obowiązkowym parametrem jest URL, na który zapytanie jest wysyłane.

Przykład:


import requests

response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.status_code)  # Wyświetla status kod odpowiedzi
print(response.json())       # Wyświetla JSON-odpowiedź

2. Wysyłanie GET-zapytania z parametrami

URL może również zawierać dodatkowe parametry w formie ciągu key=value&key2=value2&…

W naszym przypadku parametry są przekazywane w formie słownika i zmiennej params:


import requests

params = {'userId': 1}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)
print(response.json())

3. Wysyłanie POST-zapytania

POST-zapytanie może zawierać ciało zapytania: tekst, JSON czy nawet obrazek.

Przykład:


import requests

data = {
    'title': 'foo',
    'body': 'bar',
    'userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.status_code)
print(response.json())

3.4 Wysyłanie PUT-zapytania i DELETE-zapytania

1. Wysyłanie PUT-zapytania

PUT-zapytanie jest używane do aktualizacji danych na serwerze.


import requests

data = {
    'title': 'foo',
    'body': 'bar',
    'userId': 1
}
response = requests.put('https://jsonplaceholder.typicode.com/posts/1', json=data)
print(response.status_code)
print(response.json())

2. Wysyłanie DELETE-zapytania

DELETE-zapytanie jest używane do usunięcia danych z serwera.


import requests

response = requests.delete('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)
print(response.json())

Aby lepiej zrozumieć istotę GET, POST, PUT i DELETE zapytań, musisz przeczytać wykłady na temat budowy sieci, internetu, webu i HTTP. Wszystko to czeka na Ciebie w niedalekiej przyszłości.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION