Défi
Le défi est simple, en utilisant http://isup.me , déterminez si un site Web saisi est en hausse ou en baisse.
Si le site est en hausse, vous devez renvoyer une valeur véridique et si le site est en panne, vous devez renvoyer une valeur Falsey.
Règles
L'entrée sera une adresse Web telle que stackexchange.com
ou google.co.uk
. L'entrée n'aura jamais http://
, https://
etc. au début de la chaîne, mais peut avoir www.
ou codegolf.
au début etc.
Vous devez utiliser le site isup.me/URL
où l'URL est l'entrée.
Quand un site est en place, il ressemblera à:
http://isup.me/codegolf.stackexchange.com
Si un site est en panne, il ressemblera à:
Les raccourcisseurs d'URL sont interdits en dehors de isup.me.
Exemples d'entrées
Probablement en hausse (selon les circonstances actuelles):
google.de
codegolf.stackexchange.com
worldbuilding.meta.stackexchange.com
tio.run
store.nascar.com
isup.me
Sera en baisse:
made.up.com
fake.com.us
why.why.why.delilah
store.antarcticrhubarbassociation.an
Gagnant
Le code le plus court en octets gagne.
fake.com.us
pour jouer avec vos cas de test!isup.me
est en panne?isup.me
. Il renvoie un résultat autre que ce qui, par exemple,google.com
peut renvoyer.Réponses:
sh (+ curl + grep),
2826 octetsSorties via l'état de sortie (0 pour le haut, 1 pour le bas). Recherche un
I
au début d'une ligne, qui correspond lorsque le domaine est en place (même pour le cas spécial isup.me/isup.me ).la source
curl -L isup.me/$1|grep u!
enregistre 1 octet. Cela suppose cela! n'est pas un caractère valide dans le nom de domaine.0
vérité est- elle en sh?0
est en effet véridique en sh, toutes les valeurs non nulles étant fausses. De plus, l'OMI est vraiment sympa que la version sh soit si courte, car c'est absolument le bon langage pour cette tâche même sans considérer le golf.<a href="http://spthissitedoesntexist.invalid" class="domain">spthissitedoesntexist.invalid</a>
spécifiquement, il correspond à l'intérieur duhref
.Empilé , 44 octets
Fonction asynchrone qui sort
0
si le site n'est pas en place, et tout autre nombre supérieur à0
s'il est en place.Exemple a:
Sortie (probablement):
Is google up? 1
la source
s u
, notez que cela se produit sur n'importe quelle entrée commençant paru
(que ce soit vers le haut ou vers le bas).'Is example.com up?' put 'example.com' isup
sortie (pas seulement probablement mais sûrement):Is example.com up? 1
Kotlin REPL -
131 108 106 106 93 79 55 53 6463 octetsEssayez d'abord au golf Kotlin.
Attend le site Web dans une variable ou une valeur nommée
a
.Maintenant avec un espace réduit.Qui a dit que "loo" ne suffisait pas?
Fixe et plus court, ne repose plus sur http://isup.me .
Pas besoin d'ouvrir la connexion nous-mêmes, il suffit d'obtenir le flux de données (ou pas)
La tâche consistait à utiliser http://isup.me , non? Aussi:
<
n'est pas un caractère valide dans une URL.Fonctionne maintenant avec
isup.me
comme site WebMaintenant lit le site Web comme une ligne, car on ne peut pas supposer qu'une variable contienne le site Web.
Lit une ligne contenant uniquement le site Web.
Vérifie la
m h
partiefrom here
qui est envoyée lorsqu'un site est en panne.Renvoie respectivement "vrai" ou "faux".
En tant que Lambda -
172 120 118 99 85 6766 octetsPeut être invoqué directement:
la source
loo
le nom.electric.boogaloo
n'existe pas mais la chaîneloo
y sera en sortie.Python 2 ou 3 avec requêtes (
706968 octets)1 octet rasé:Non, pas une optimisation valide."u. "
→" u"
1 octet rasé:
__import__('requests').
→from requests import*;
C'est maintenant vraiment un morceau de code REPL uniquement, et après avoir exécuté cette ligne, la fonction sera nommée
_
.la source
)
).u
.from requests import*
etget
est 1 octet plus court.import
), donc je pense qu'il est plus sûr de l'appeler simplement une ligne REPL.Python3
141133113 113192141 octetsNécessite Selenium (y compris le pilote Web) pour python.
Merci à @cairdcoinheringaahing d'avoir réduit 42 octets!
Merci à @ V.Courtois d'avoir signalé une solution simple!
Impressions
1
si le site est opérationnel, sinon imprime0
.Version non golfée:
la source
t
). En outre, vous pouvezprint("up"in r.text)
Javascript (ES6),
7466 octetsMerci à @Shaggy, qui a attiré mon attention sur le fait qu'une promesse résolue compte comme une sortie.
Problème avec cette solution qui générera une erreur CORS à moins que je ne la teste sur une page qui est déjà sur
isup.me
. Mais actuellement, cela est redirigé versdownforeveryoneorjustme.com
Ancienne version:
la source
alert
et simplement retourner la promesse. Voyez ici . Je pense que vous pourriez aussi faire des économies avec/u!/.test(t)
.Pyth , 24 octets
Revenez
True
si le site est en place,False
sinon. L'URL d'entrée doit être indiquée. Cela ne peut pas être testé sur l'interpréteur en ligne car il'
est désactivé pour des raisons de sécurité; à la place, vous aurez besoin d'une copie locale de Pyth .Explication
la source
u
.05AB1E , 22 octets
Essayez-le en ligne!
Malheureusement,
"isup.me/ÿ".w§„ uå
cela ne semble pas fonctionner.la source
PowerShell, 32 octets
la source
irm
comportement étrange m'a sauvé un tas sur celui-ci. le mien iciPowerShell, 25 octets
Utilise le fait que
Invoke-RestMethod
renvoie la page avec une.html
propriété uniquement en cas d'échec. (aucune idée pourquoi exactement cela se produit ...)inverse la ligne à convertir en bool, sorties
True
pour un site en ligne ouFalse
pour un site en panne.la source
irm
renvoie du texte en clair pour les pages non analysables, j'allais faire une correspondance en texte clair, donc il se serait comporté de la même manière que iwr, peu importe, je suppose, si cela fonctionne, cela fonctionne.Halovi , 20 octets
Sorties
p.
si le site est en panne ete.
s'il est en hausse.Explication:
la source
Haskell (Lambdabot), 157 octets
Malheureusement , vous ne pouvez pas importer
Network.HTTP.Simple
surtio.run
, la meilleure façon de tester serait d'exécuter ce script (vous aurez besoinstack
):la source
Aller, 111 octets
Dans la mode typique de Go, la méthode la plus courte est de la décortiquer.
Autres implémentations ici: https://play.golang.org/p/8T5HSDQFmC
la source
Clojure, 63 octets
Vérifie si le code HTML renvoyé par
slurp
contient la chaîne"'s j"
(comme dans "C'est pour vous"). Je pourrais peut-être trouver une chaîne plus petite qui est unique à la page, mais cela me ferait au plus économiser 2 octets. Cela pourrait également le rendre moins précis. "'s j" n'apparaîtra nulle part dans le balisage, sauf dans ce scénario. Une chaîne comme "u". pourrait toutefois apparaître dans l'URL, ce qui la briserait.la source
Nim, 108 octets
Malheureusement, cela
strutils
est nécessaire pourcontains
.Apprendre Nim, des conseils appréciés!
la source
PHP,
8278 octetsExemples d'exécutions d'E / S:
Exemple 2
la source
+
. Et avec$argn
au lieu de$argv[1]
vous pourriez utiliser 6 autres octets (moins 1).