Desafío
El desafío es simple: usar http://isup.me , determinar si un sitio web ingresado está activo o inactivo.
Si el sitio está activo, debe devolver un valor verdadero y si el sitio está inactivo, debe devolver un valor falso.
Reglas
La entrada será una dirección web como stackexchange.com
o google.co.uk
. La entrada nunca tendrá http://
, https://
etc. al comienzo de la cadena, pero puede tener www.
o codegolf.
al inicio, etc.
Debe usar el sitio isup.me/URL
donde la URL es la entrada.
Cuando un sitio está activo, se verá así:
http://isup.me/codegolf.stackexchange.com
Si un sitio está caído, se verá así:
Los acortadores de URL no están permitidos aparte de isup.me.
Entradas de ejemplo
Probablemente arriba (dependiendo de las circunstancias actuales):
google.de
codegolf.stackexchange.com
worldbuilding.meta.stackexchange.com
tio.run
store.nascar.com
isup.me
Estará abajo:
made.up.com
fake.com.us
why.why.why.delilah
store.antarcticrhubarbassociation.an
Victorioso
El código más corto en bytes gana.
fake.com.us
para meterse con tus casos de prueba!isup.me
está abajo?isup.me
. Devuelve un resultado distinto de lo que, por ejemplo,google.com
puede devolver.Respuestas:
sh (+ curl + grep),
2826 bytesSalidas a través del estado de salida (0 para arriba, 1 para abajo). Busca un
I
al principio de una línea, que coincide cuando el dominio está activo (incluso para el caso especial de isup.me/isup.me ).fuente
curl -L isup.me/$1|grep u!
ahorra 1 byte. ¡Esto supone eso! No es un carácter válido en el nombre de dominio.0
verdad en sh?0
es de hecho verdadero en sh, con todos los valores distintos de cero son falsos. Además, en mi opinión, es realmente bueno que la versión sh sea tan corta, ya que es absolutamente el lenguaje adecuado para esta tarea, incluso sin considerar el golf.<a href="http://spthissitedoesntexist.invalid" class="domain">spthissitedoesntexist.invalid</a>
específicamente coincide con el interior dehref
.Apilado , 44 bytes
Función asíncrona que se genera
0
si el sitio no está activo y cualquier otro número mayor que0
si está activo.Ejemplo a:
Salida (probablemente):
Is google up? 1
fuente
s u
, tenga en cuenta que esto ocurre en cualquier entrada que comience conu
(ya sea hacia arriba o hacia abajo).'Is example.com up?' put 'example.com' isup
salida (no solo probablemente sino seguramente):Is example.com up? 1
Kotlin REPL - 131108106
93 79 55 53 6463 bytesPrimero intente en el golf de Kotlin.
Espera que el sitio web en una variable o valor denominado
a
.Ahora con espacios en blanco reducidos.¿Quién dijo "loo" no es suficiente?
Fijo y más corto, ya no depende de http://isup.me .
No es necesario abrir la conexión nosotros mismos, solo obtener el flujo de datos (o no).
La tarea era usar http://isup.me , ¿verdad? Además:
<
no es un carácter válido en una URL.Ahora funciona
isup.me
como el sitio webAhora lee el sitio web como una línea, porque no se puede suponer que una variable contenga el sitio web.
Lee una línea que contiene solo el sitio web.
Cheques para el
m h
parte defrom here
eso que se envía cuando un sitio está inactivo.Devuelve "verdadero" o "falso" respectivamente.
Como Lambda -
172 120 118 99 85 6766 bytesSe puede invocar directamente:
fuente
loo
el nombre.electric.boogaloo
no existe pero la cadenaloo
estará en la salida allí.Python 2 o 3 con solicitudes (
706968 bytes)1 byte afeitado:No, no es una optimización válida."u. "
→" u"
1 byte afeitado:
__import__('requests').
→from requests import*;
Esto ahora es realmente una pieza de código solo REPL, y después de ejecutar esta línea se nombrará la función
_
.fuente
)
).u
.from requests import*
yget
es 1 byte más corto.import
), por lo que creo que es más seguro llamarlo una línea REPL.Python3
141133113192141 bytesRequiere Selenium (incluido webdriver) para python.
¡Gracias a @cairdcoinheringaahing por reducir 42 bytes!
¡Gracias a @ V.Courtois por señalar una solución simple!
Imprime
1
si el sitio está en funcionamiento, de lo contrario imprime0
.Versión sin golf:
fuente
t
). Además, puede jugar golf a la declaración impresa aprint("up"in r.text)
Javascript (ES6),
7466 bytesGracias a @Shaggy, que me llamó la atención que una promesa resuelta cuenta como resultado.
Problema con esta solución que arrojará un error CORS a menos que lo pruebe en una página que ya está en
isup.me
. Pero actualmente, eso se redirige adownforeveryoneorjustme.com
Versión antigua:
fuente
alert
y simplemente devolver la Promesa. Ver aquí . Creo que también podrías ahorrar con/u!/.test(t)
.Pyth , 24 bytes
Regrese
True
si el sitio está activo, de loFalse
contrario. La URL de entrada debe ser citada. Eso no se puede probar en el intérprete en línea porque'
está deshabilitado por razones de seguridad; en su lugar, necesitará una copia local de Pyth .Explicación
fuente
u
.05AB1E , 22 bytes
Pruébalo en línea!
Lamentablemente
"isup.me/ÿ".w§„ uå
no parece funcionar.fuente
PowerShell, 32 bytes
fuente
irm
comportamiento extraño me salvó un montón en este caso. mía aquíPowerShell, 25 bytes
Utiliza el hecho de que
Invoke-RestMethod
devuelve la página con una.html
propiedad solo en caso de error. (No tengo idea de por qué sucede esto exactamente ...)invierte la línea para convertir a bool, salidas
True
para un sitio en vivo oFalse
para un sitio inactivo.fuente
irm
devuelve texto sin formato para páginas no analizables, iba a hacer una coincidencia de texto sin formato para que se hubiera comportado igual que iwr, independientemente de si creo que si funciona funciona.Halovi , 20 bytes
Salidas
p.
si el sitio está inactivo ye.
si está activo.Explicación:
fuente
Haskell (Lambdabot), 157 bytes
Lamentablemente no se puede importar
Network.HTTP.Simple
entio.run
la forma más fácil de prueba sería para ejecutar este script (que necesitastack
):fuente
Go, 111 bytes
En la moda típica de Go, el método más corto es desembolsarlo.
Otras implementaciones aquí: https://play.golang.org/p/8T5HSDQFmC
fuente
Clojure, 63 bytes
Comprueba si el HTML devuelto por
slurp
contiene la cadena"'s j"
(como en "Es sj ust you"). Podría encontrar una cadena más pequeña que sea exclusiva de la página, pero a lo sumo me ahorraría 2 bytes. Potencialmente, también lo haría menos preciso. "'s j" no aparecerá en el marcado en ninguna parte, excepto en ese escenario. Una cadena como "u". sin embargo, podría aparecer en la URL, lo que lo rompería.fuente
Nim, 108 bytes
Por desgracia que
strutils
se necesita paracontains
.Aprendizaje Nim, consejos apreciados!
fuente
PHP
8278 bytesEjemplo de ejecución de E / S:
Ejemplo 2
fuente
+
. Y con en$argn
lugar de$argv[1]
usted podría usar otros 6 (menos 1) bytes.