Курс языка программирования Raku / Функциональное, конкурентное, реактивное и веб-программирование / Веб-программирование / Удалённые соединения / Exercises / Отправьте и получите
Решение: Отправьте и получите
Вот один из возможных вариантов решения задачи.
Код
my $conn = IO::Socket::INET.new(:host('example.com'), :port(80));
$conn.print("HEAD / HTTP/1.0\r\nHost: example.com\r\n\r\n");
my $response = $conn.recv;
$conn.close;
say $response.lines.first;🦋 Исходный код можно найти в файле send-and-receive.raku.
Вывод
HTTP/1.1 200 OKКомментарии
.printотправляет запрос; строки протокола заканчиваются на\r\n. ЗапросHEADпросит у сервера только строку состояния и заголовки, поэтому ответ невелик..recvчитает ответ, а.lines.firstберёт его первую строку — строку состояния HTTP.