मुझे पता है कि आपने हमेशा वेब प्रॉक्सी के रूप में जीवन की खुशियों का अनुभव करने के परीक्षणों और क्लेशों के बारे में सोचा है। ईमानदारी से, कौन नहीं है? आज आपको यह लक्ष्य (कम से कम इसका एक हिस्सा) साकार करने का काम सौंपा गया है। वेबसाइट X को दैनिक रूप से बहुत अधिक ट्रैफ़िक मिलता है और वह PaaS की तलाश कर रहा है (स्पष्ट रूप से यह एक सेवा के रूप में प्रॉक्सी को संदर्भित करता है) क्योंकि उपयोगकर्ताओं की बड़ी संख्या जो क्वेरी मापदंडों के माध्यम से संवेदनशील जानकारी को पारित करने पर जोर देते हैं (उपयोगकर्ता मूर्खतापूर्ण हैं)। आपका कार्य अपने मूल गंतव्य के माध्यम से अनुरोध को अग्रेषित करने से पहले अनुरोध से किसी भी और सभी संवेदनशील क्वेरी पैरामीटर को निकालना है।
इनपुट
- एक अच्छी तरह से गठित पूर्ण HTTP URL जो RFC3986 धारा 3 में URI व्याकरण का अनुसरण करता है ।
- आप मान सकते हैं कि कोई टुकड़ा नहीं है
- संक्षिप्त प्रारूप उदाहरण जहां वर्ग कोष्ठक में कुछ भी वैकल्पिक को दर्शाता है:
http[s]://[user:pass@]host.name.com[:port]/[?param1=value1¶m2=value2...]
- हटाए जाने वाले क्वेरी मापदंडों की एक सूची।
उत्पादन
इनपुट सूची में परिभाषित मापदंडों के बिना संशोधित HTTP URL।
उदाहरण
http://example.com/ [foo]
> http://example.com/
http://example.com/?foo=bar []
> http://example.com/?foo=bar
http://example.com/ []
> http://example.com/
http://example.com/?foo=1&bar=2&baz=3 [foo,baz]
> http://example.com/?bar=2
http://example.com/?foo=1&bar=2&baz=3 [foo,bar,baz]
> http://example.com/
http://example.com/?foo&bar=2&baz= [foo,baz]
> http://example.com/?bar=2
http://example.com/?abc=1&def=2&baz=foo [foo,bar]
> http://example.com/?abc=1&def=2&baz=foo
http://example.com/?foobar=baz [foo]
> http://example.com/?foobar=baz
http://foo:foo@foo.com:8080/?foo=1&bar=foo [foo]
> http://foo:foo@foo.com:8080/?bar=foo
स्कोरिंग
यह कोड-गोल्फ है , इसलिए सबसे छोटा उत्तर (बाइट्स में) जीतता है।
&मापदंडों के बीच के अलावा कहीं भी दिखाई दे सकता है ?
?? क्या यह आदेश भी उसी तरह रखा जाना चाहिए जैसा वह था?
&क्वेरी पैरामीटर का हिस्सा है तो इसे सही तरीके से urlencoded किया जाना चाहिए%26
http://foo:&foo=x@foo.com:8080/?foo=1&bar=fooRFC द्वारा अनुमति है। यह मौजूदा समाधानों का एक गुच्छा तोड़ना चाहिए। : D (नियम userinfo को अनारक्षित या pct- एस्केप या सब-डेलिम्स के रूप में विस्तारित किया जा सकता है, और उप-डेलिम्स हो सकता है &और =)