HTTP-методы GET и POST — самые распространённые способы отправить или получить данные с сервера.
🐍🐍🐍
GET — метод для чтения данных с сайта. Например, для доступа к указанной странице. Он говорит серверу, что клиент хочет прочитать указанный документ. GET параметры пишутся непосредственно в URL адресе, после знака ? через &
Например:
http://site.ru/enter.php?user=Vasya&pass=Super123
GET-запросы лучше не использовать с приватной информацией. Вот почему:
Они кэшируются. Это значит, что логин и пароль, переданные через GET-запрос, могут остаться в интернете навсегда, например, в веб-архиве или кэше Гугла.
Остаются в истории браузера. Чтобы узнать, какие данные отправлялись, достаточно нажать Ctrl+H.
Сохраняются в закладках и пересылаются. Можно не обратить внимания и опубликовать в соцсетях или отправить ссылку с приватной информацией в GET-запросе.
Сохраняются в логах сервера. Например, нельзя отправлять данные банковских карт через GET-запрос, так как это создаёт риски для пользователей.
POST — метод для отправки данных на сайт. Чаще всего с помощью метода POST передаются формы с какими то заполненными полями.
Любые важные данные — логины, пароли, данные карты, персональные данные — лучше передавать с помощью метода POST. Также метод POST поддерживает тип кодирования данных multipart/form-data, что позволяет передавать файлы.
🐍🐍🐍
GET — метод для чтения данных с сайта. Например, для доступа к указанной странице. Он говорит серверу, что клиент хочет прочитать указанный документ. GET параметры пишутся непосредственно в URL адресе, после знака ? через &
Например:
http://site.ru/enter.php?user=Vasya&pass=Super123
GET-запросы лучше не использовать с приватной информацией. Вот почему:
Они кэшируются. Это значит, что логин и пароль, переданные через GET-запрос, могут остаться в интернете навсегда, например, в веб-архиве или кэше Гугла.
Остаются в истории браузера. Чтобы узнать, какие данные отправлялись, достаточно нажать Ctrl+H.
Сохраняются в закладках и пересылаются. Можно не обратить внимания и опубликовать в соцсетях или отправить ссылку с приватной информацией в GET-запросе.
Сохраняются в логах сервера. Например, нельзя отправлять данные банковских карт через GET-запрос, так как это создаёт риски для пользователей.
import requests——————————————
# Попробуем получить какую-нибудь HTML страницу из интернета
# Для этого используем GET запрос к адресу этой страницы
# Дадим GET запрос
s = requests.get('https://habr.com')
# Распечатаем код ответа сервера
print(s.status_code)
# Распечатаем HTML код страницы
print(s.text)
POST — метод для отправки данных на сайт. Чаще всего с помощью метода POST передаются формы с какими то заполненными полями.
Любые важные данные — логины, пароли, данные карты, персональные данные — лучше передавать с помощью метода POST. Также метод POST поддерживает тип кодирования данных multipart/form-data, что позволяет передавать файлы.
import requests———————
# POST запрос с параметрами
dict1 = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("https://httpbin.org/post", data = dict1)
print(r.text)
import requests#code
# Отправка файла на сайт POST запросом
# файл test.txt должен существовать в папке со скриптом
url = 'https://httpbin.org/post'
dict1 = {'key1': 'value1', 'key2': 'value2'}
files = {'file': open('test.txt', 'rb')}
r = requests.post(url, files=files, data=dict1)
print(r.text)