Курс по 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.