Saya tahu Anda selalu memikirkan cobaan dan kesengsaraan karena mengalami sukacita hidup sebagai proxy web. Jujur, siapa yang belum? Hari ini Anda ditugaskan untuk mewujudkan tujuan ini (setidaknya sebagian darinya). Situs web X mendapatkan banyak lalu lintas setiap hari dan mencari PaaS (jelas ini merujuk pada Proxy sebagai Layanan) karena sejumlah besar pengguna yang bersikeras meneruskan informasi sensitif melalui parameter kueri (pengguna konyol). Tugas Anda adalah menghapus sebagian dan semua parameter kueri sensitif dari permintaan sebelum meneruskan permintaan hingga ke tujuan awalnya.
Memasukkan
- URL HTTP absolut yang terbentuk dengan baik mengikuti tata bahasa URI di RFC3986 Bagian 3 .
- Anda dapat mengasumsikan tidak ada fragmen
- Contoh format singkat di mana apa pun dalam kurung siku menunjukkan opsional:
http[s]://[user:pass@]host.name.com[:port]/[?param1=value1¶m2=value2...]
- Daftar parameter kueri yang akan dihapus.
Keluaran
URL HTTP yang dimodifikasi tanpa parameter yang ditentukan dalam daftar input.
Contohnya
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
Mencetak gol
Ini adalah kode-golf , jadi jawaban tersingkat (dalam byte) menang.
&muncul di mana saja selain antar parameter?
?? Juga haruskah pesanan tetap seperti itu?
&merupakan bagian dari parameter kueri, URL harus dimasukkan dengan benar sebagai%26
http://foo:&foo=x@foo.com:8080/?foo=1&bar=foodiizinkan oleh RFC. Ini harus memecahkan banyak solusi yang ada. : D (Aturannya adalah userinfo dapat diperluas sebagai unreserved atau pct-escape atau sub-delims, dan sub-delims dapat memiliki &dan =)