पृष्ठभूमि की कहानी:
आप मेगा-कॉरपोरेशन में अपनी नई प्रोग्रामिंग नौकरी का आनंद लेते हैं। हालाँकि, आपको वेब ब्राउज़ करने की अनुमति नहीं है क्योंकि आपके कंप्यूटर में केवल एक CLI है। वे सभी कर्मचारियों की हार्ड ड्राइव के स्वीप भी चलाते हैं, इसलिए आप बस एक बड़े सीएलआई वेब ब्राउज़र को डाउनलोड नहीं कर सकते। आप एक सरल पाठ्य ब्राउज़र बनाने का निर्णय लेते हैं जो जितना संभव हो उतना छोटा हो ताकि आप इसे याद कर सकें और इसे हर दिन एक अस्थायी फ़ाइल में टाइप कर सकें।
चुनौती:
आपका कार्य कमांड लाइन इंटरफ़ेस के भीतर एक गोल्फ वेब ब्राउज़र बनाना है। यह होना चाहिए:
- Args या stdin के माध्यम से एक ही URL लें
- URL के घटकों
directory
औरhost
घटकों को विभाजित करें host
उक्त अनुरोध करने के लिए एक सरल HTTP अनुरोध भेजें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 का उपयोग नहीं कर सकते हैं
- जो भी प्रोग्रामिंग भाषा का उपयोग किया जाता है, केवल निम्न-स्तरीय टीसीपी एपीआई की अनुमति है (नेटकैट को छोड़कर)
- आप GUI का उपयोग नहीं कर सकते हैं , याद रखें, यह एक CLI है
- आप HTML पार्सर का उपयोग नहीं कर सकते हैं, बिलिन वाले को छोड़कर (सुंदरसुंदर एक बिल्डिन नहीं है)
- बोनस !! यदि आपका प्रोग्राम वापस लौटता है और बाहर निकलने के बजाय दूसरे URL के लिए कहता है, -40 चार्ट (जब तक आप पुनरावृत्ति का उपयोग नहीं करते हैं)
- कोई तृतीय-पक्ष कार्यक्रम नहीं। याद रखें, आप कुछ भी स्थापित नहीं कर सकते।
- कोड-गोल्फ , इसलिए सबसे छोटी बाइट गिनती जीतती है
import webbrowser;webbrowser.open(url)