Посилання:
Ви насолоджуєтесь своєю новою роботою з програмування в мега-мультикорпорації. Однак ви не можете переглядати Інтернет, оскільки на вашому комп'ютері є лише CLI. Вони також виконують обчислення жорстких дисків усіх працівників, тому ви не можете просто завантажити великий веб-браузер CLI. Ви вирішили зробити простий текстовий браузер, який є якомога меншим, щоб ви могли запам'ятати його і вводити його у тимчасовий файл щодня.
Виклик:
Ваше завдання - створити веб-браузер для гольфу в інтерфейсі командного рядка. Слід:
- Візьміть одну URL-адресу через args або stdin
- Розділіть
directory
іhost
компоненти URL-адреси - Надішліть простий HTTP-запит
host
на запит зазначеногоdirectory
- Роздрукуйте вміст будь-яких тегів
<p>
абзацу</p>
- І або вийдіть, або попросіть іншу сторінку
Більше інформації:
Простий запит HTTP виглядає приблизно так:
GET {{path}} HTTP/1.1
Host: {{host}}
Connection: close
\n\n
Підкреслюється закінчення нових рядків.
Типова відповідь виглядає так:
HTTP/1.1 200 OK\n
<some headers separated by newlines>
\n\n
<html>
....rest of page
Правила:
- Потрібно працювати лише на порту 80 (не потрібен SSL)
- Ви не можете використовувати netcat
- Яку б мову програмування не використовували, дозволені лише API TCP низького рівня (крім netcat)
- Ви не можете використовувати GUI, пам’ятайте, що це CLI
- Ви не можете використовувати HTML-парсери, крім вбудованих (BeautifulSoup не є вбудованим)
- Бонус !! Якщо ваша програма повертається назад і запитує іншу URL-адресу замість виходу, -40 символів (якщо ви не використовуєте рекурсію)
- Жодних сторонніх програм немає. Пам'ятайте, ви нічого не можете встановити.
- код-гольф , тому виграє найменший кількість байтів
import webbrowser;webbrowser.open(url)