Содержание
1. Отправка GET-запроса с помощью браузера
2. Отправка данных с помощью GET запроса на сервер
3. Прием данных GET запроса на сервере с помощью языка PHP.
4. Отправка GET запросов с помощью REST клиентов.
Одним из способов, как можно отправить запрос по протоколу HTTP к серверу, является запрос методом GET. Этот метод является самым распространенным и запросы к серверу чаще всего происходят с его использованием.
Отправка GET-запроса с помощью браузера
Самый простой способ, как можно создать запрос методом GET- это набрать URL-адрес в адресную строку браузера.

Содержимое http запроса, которое браузер передаст серверу выглядит примерно так:
GET / HTTP/1.1 Host: site.ru User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Cookie: wp-settings Connection: keep-alive
Запрос состоит из двух частей:
1. строка запроса (Request Line)
2. заголовки (Message Headers)
Отправка данных с помощью GET запроса на сервер
Обратите внимание, что GET запрос не имеет тела сообщения (body), в котором мы могли бы передать какие-либо данные на сервер. Основное предназначение GET запроса - это получение данных с сервера, а не отправка туда какой-либо информации.
Но, это не означает, что с его помощью мы не можем передать серверу никакую информацию. Это можно делать с помощью специальных GET параметров.
Чтобы добавить GET параметры к запросу, нужно в конце URL-адреса поставить знак «?» и после него начинать задавать их по следующему правилу:
имя_параметра1=значение_параметра1& имя_параметра2=значение_параметра2&…
Разделителем между параметрами служит знак «&».
К примеру, если мы хотим передать серверу два значения, имя пользователя и его возраст, то это можно сделать следующей строкой:
http://site.com/page.php?name=dima&age=27
Когда выполнен данный запрос, данные попадают в так называемую переменную окружения QUERY_STRING, из которой их можно получить на сервере с помощью серверного языка веб-программирования.
Прием данных GET запроса на сервере с помощью языка PHP.
Вот пример, как это можно сделать на языке PHP.
<?php echo "Ваше имя: " . $_GET["name"] . "<br />"; echo "Ваш возраст: " . $_GET["age"] . "<br />";
Конструкция $_GET["имя_параметра"] позволяет выводить значение переданного параметра.
В результате выполнения этого кода в браузере выведется:
Ваше имя: dima
Ваш возраст: 27
Кстати, переходя по какой-либо ссылке, которая оформлена в HTML вот так:
<a href="link.php?name=dima">Ссылка</a>
мы тоже выполняем запрос к серверу методом GET.
Отправка GET запросов с помощью REST клиентов.
REST клиенты вроде Insomnia или Postman и др. позволяют легко отправить GET запрос на какой-либо веб-ресурс.
Посмотрите урок из видеокурса по Insomnia, как это можно сделать:
https://webkyrs.info/page/vipolnyaem-prostoi-get-zapros-v-insomnia
Отправка GET запроса с помощью Javascript
В JavaScript существует несколько способов отправки GET-запросов. Подробнее об отправке запросов можно посмотреть в этом курсе по основам работы с API здесь:
https://webkyrs.info/category/api-osnovy-raboty
1. Использование XMLHttpRequest
// Создаем новый экземпляр XMLHttpRequest
var xhr = new XMLHttpRequest();
// Настраиваем запрос
xhr.open("GET", "https://api.example.com/data", true);
// Обработка ответа
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
};
// Отправляем запрос
xhr.send();2. Использование fetch
// Отправка GET-запроса с использованием fetch
fetch('https://api.example.com/data')
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok ' + response.statusText);
}
return response.json();
})
.then(data => {
console.log(data);
})
.catch(error => {
console.error('There has been a problem with your fetch operation:', error);
});3. Использование сторонних библиотек.
Чаще всего в проектах используется библиотека axios и запрос может выглядеть следующим образом:
// Подключаем библиотеку axios
const axios = require('axios');
// Отправка GET-запроса с использованием axios
axios.get('https://api.example.com/data')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error('There has been a problem with your axios operation:', error);
});Но, существуют и другие библиотеки в Javascript, которые позволяют выполнять GET запросы, например jQuery.
Отправка GET запроса с помощью PHP
В любом языке программирования, мы рассмотрим PHP есть свой инструменты, которые позволяют отправлять http GET запросы.
Для php таким инструментом является утилита CURL. Подробнее с ней можно познакомиться здесь:
https://webkyrs.info/page/chto-takoe-curl
Простой запрос может выглядеть следующим образом
<?php
// URL для запроса
$url = "https://api.example.com/data";
// Инициализация cURL
$ch = curl_init();
// Установка опций cURL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Выполнение запроса и получение ответа
$response = curl_exec($ch);
// Проверка на ошибки
if (curl_errno($ch)) {
echo 'Ошибка запроса: ' . curl_error($ch);
} else {
// Обработка ответа
echo 'Ответ сервера: ' . $response;
}
// Закрытие cURL-сессии
curl_close($ch);
?>В этой статье мы рассмотрели лишь несколько примеров, как можно использовать GET запросы. В зависимости от языка программирования, который вы используете, методы применения могут отличаться.
Главное понять основной смысл.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти