Défi
Étant donné un goo.gl
lien raccourci valide , affichez l'URL d'origine.
Exemple
goo.gl/qIwi3N
donnerait quelque chose comme https://codegolf.stackexchange.com/
. Pour la saisie, vous pouvez choisir d'avoir le https?://
au début, vous pouvez choisir d'avoir www.
avant le goo.gl
, et vous pouvez également choisir de vous débarrasser du goo.gl
si vous ne voulez que la fin de l'URL. Une barre oblique à la fin est facultative pour l'entrée et la sortie. Ainsi, votre entrée finira par correspondre à l'expression régulière (https?://)?(www\.)?(goo\.gl/)?[A-Za-z0-9]+/?
. Pour la sortie, vous pouvez choisir de sortir ou non, de sortir https?://
ou non www.
, et de sortir ou non une barre oblique de fin. Cependant, vous devez être compatible avec votre E / S formatage .
Je dirai que vous ne devez pas être cohérent avec https
vs. http
pour la sortie (mais vous devez être cohérent pour l'entrée), tant que vous êtes cohérent avec si vous incluez la https?://
partie entière ou non .
Cas de test
Celles-ci sont écrites sans https://
, ni www.
, ni barre oblique de fin dans l'entrée; oui https://
, non www.
et oui barre oblique de fin dans la sortie.
input -> output
goo.gl/HaE8Au -> https://codegolf.stackexchange.com/
goo.gl/IfZMwe -> https://stackoverflow.com/
goo.gl/JUdmxL -> https://chat.stackexchange.com/rooms/240/the-nineteenth-byte
Hypothèses
- Vous pouvez supposer que le lien raccourci ne pointera pas vers un autre lien raccourci et que le site de destination renverra un code d'état de
2xx
ou4xx
(aucune redirection).
Vous pouvez aller ici et entrer une URL pour appliquer l'opération inverse de ceci: https://goo.gl/
www.
fait une différence. Il s'agit dans la plupart des cas du même serveur auquel il fait référence. Essayez par exemple http://pks.mpg.de
et http://www.pks.mpg.de
. Le premier ne peut pas être résolu, tandis que le second le peut.