Historia:
Lubisz swoją nową pracę programistyczną w wielkiej korporacji. Nie możesz jednak przeglądać Internetu, ponieważ Twój komputer ma tylko interfejs CLI. Przeszukują również dyski twarde wszystkich pracowników, więc nie można po prostu pobrać dużej przeglądarki internetowej CLI. Decydujesz się stworzyć prostą przeglądarkę tekstową, która jest tak mała, jak to możliwe, abyś mógł ją zapamiętać i wpisywać do pliku tymczasowego każdego dnia.
Wyzwanie:
Twoim zadaniem jest stworzenie gry w golfa w interfejsie wiersza poleceń. Powinno:
- Weź pojedynczy adres URL za pośrednictwem args lub stdin
- Podziel
directory
ihost
składniki adresu URL - Wyślij proste żądanie HTTP do,
host
aby poprosić o wspomnianedirectory
- Wydrukuj zawartość dowolnych znaczników
<p>
akapitu</p>
- I wyjdź lub poproś o kolejną stronę
Więcej informacji:
Proste żądanie HTTP wygląda następująco:
GET {{path}} HTTP/1.1
Host: {{host}}
Connection: close
\n\n
Podkreślono zakończenie nowych linii.
Typowa odpowiedź wygląda następująco:
HTTP/1.1 200 OK\n
<some headers separated by newlines>
\n\n
<html>
....rest of page
Zasady:
- Musi działać tylko na porcie 80 (nie wymaga SSL)
- Nie możesz używać NetCat
- Niezależnie od używanego języka programowania dozwolone są tylko interfejsy API niskiego poziomu TCP (z wyjątkiem netcat)
- Być może nie używać GUI, należy pamiętać, że jest to CLI
- Nie możesz używać parserów HTML, z wyjątkiem wbudowanych (BeautifulSoup nie jest wbudowanym)
- Premia!! Jeśli Twój program zapętla się i prosi o podanie innego adresu URL zamiast wyjścia, -40 znaków (o ile nie używasz rekurencji)
- Brak programów innych firm. Pamiętaj, że nie możesz niczego zainstalować.
- code-golf , więc wygrywa najkrótsza liczba bajtów
import webbrowser;webbrowser.open(url)