Desafio
O desafio é simples: usando http://isup.me , determine se um site inserido está ativo ou inativo.
Se o site estiver ativo, você deve retornar um valor verdadeiro e, se o site estiver inativo, deve retornar um valor falsey.
Regras
A entrada será um endereço da web como stackexchange.com
ou google.co.uk
. A entrada nunca terá http://
, https://
etc. no início da string, mas pode ter www.
ou codegolf.
no início etc.
Você deve usar o site em isup.me/URL
que URL é a entrada.
Quando um site é lançado, ele se parece com:
http://isup.me/codegolf.stackexchange.com
Se um site estiver inativo, será semelhante a:
Os encurtadores de URL não são permitidos, exceto o isup.me.
Entradas de Exemplo
Provavelmente ativo (dependendo das circunstâncias atuais):
google.de
codegolf.stackexchange.com
worldbuilding.meta.stackexchange.com
tio.run
store.nascar.com
isup.me
Será baixo:
made.up.com
fake.com.us
why.why.why.delilah
store.antarcticrhubarbassociation.an
Ganhando
O código mais curto em bytes vence.
fake.com.us
para mexer com seus casos de teste!isup.me
estiver em baixo?isup.me
. Retorna um resultado diferente do que, digamos,google.com
pode retornar.Respostas:
sh (+ ondulação + grep),
2826 bytesSaídas via status de saída (0 para cima, 1 para baixo). Procura um
I
no início de uma linha, que corresponde quando o domínio está ativo (mesmo no caso especial de isup.me/isup.me ).fonte
curl -L isup.me/$1|grep u!
salva 1 byte. Isso pressupõe isso! não é um caractere válido no nome de domínio.0
verdade é sh?0
é realmente verdade em sh, com todos os valores diferentes de zero sendo falsos. Além disso, na IMO é muito bom que a versão sh seja tão curta, pois é absolutamente o idioma certo para esta tarefa, mesmo sem considerar o golfe.<a href="http://spthissitedoesntexist.invalid" class="domain">spthissitedoesntexist.invalid</a>
Especificamente, ele corresponde dentro dohref
.Empilhados , 44 bytes
Função assíncrona que gera
0
se o site não estiver ativo e qualquer outro número maior que0
se estiver ativo.Exemplo a:
Saída (provavelmente):
Is google up? 1
fonte
s u
, observe que isso ocorre em qualquer entrada que comece comu
(para cima ou para baixo).'Is example.com up?' put 'example.com' isup
output (não apenas provavelmente, mas com certeza):Is example.com up? 1
Kotlin REPL -
131 108 106 93 79 55 53 6463 bytesPrimeira tentativa no golfe Kotlin.
Espera o site em uma variável ou valor nomeado
a
.Agora com espaço em branco reduzido.Quem disse que "banheiro" não é suficiente?
Fixo e mais curto, não depende mais do http://isup.me .
Não é necessário abrir a conexão, basta obter o fluxo de dados (ou não).
A tarefa era usar http://isup.me , certo? Além disso:
<
não é um caractere válido em um URL.Agora funciona com
isup.me
o siteAgora lê o site como uma linha, porque não se pode assumir uma variável para conter o site.
Lê uma linha contendo apenas o site.
Verifica a
m h
partefrom here
enviada quando um site está inoperante.Retorna "verdadeiro" ou "falso", respectivamente.
Como um Lambda -
172 120 118 99 85 6766 bytesPode ser chamado diretamente:
fonte
loo
o nome.electric.boogaloo
não existe, mas a stringloo
estará na saída lá.Python 2 ou 3 com solicitações (
706968 bytes)1 byte raspado:Não, não é uma otimização válida."u. "
→" u"
1 byte raspado:
__import__('requests').
→from requests import*;
Agora, esse é realmente um trecho de código somente para REPL e, após a execução dessa linha, a função será nomeada
_
.fonte
)
).u
.from requests import*
eget
é 1 byte mais curto.import
), então acho que é mais seguro chamá-lo de linha REPL.Python3
141133113192141 bytesRequer Selenium (incluindo webdriver) para python.
Obrigado a @cairdcoinheringaahing por reduzir 42 bytes!
Obrigado a @ V.Courtois por apontar uma solução simples!
Imprime
1
se o site estiver instalado e funcionando, caso contrário, será impresso0
.Versão não destruída:
fonte
t
). Além disso, você pode golfe a declaração de impressão paraprint("up"in r.text)
Javascript (ES6),
7466 bytesObrigado a @Shaggy, que me chamou a atenção de que uma promessa resolvida conta como saída.
Problema com esta solução que gera um erro de CORS, a menos que eu o teste em uma página que já está em
isup.me
. Mas atualmente, isso é redirecionado paradownforeveryoneorjustme.com
Versão antiga:
fonte
alert
e apenas devolver a Promessa. Veja aqui . Eu acho que você também poderá economizar/u!/.test(t)
.Pitão , 24 bytes
Retorne
True
se o site estiver ativo,False
caso contrário. O URL de entrada deve ser citado. Isso não pode ser testado no intérprete on-line porque'
está desativado por motivos de segurança; em vez disso, você precisará de uma cópia local do Pyth .Explicação
fonte
u
.05AB1E , 22 bytes
Experimente online!
Infelizmente
"isup.me/ÿ".w§„ uå
, parece não funcionar.fonte
PowerShell, 32 bytes
fonte
irm
comportamento estranho me salvou muito nesse caso. meu aquiPowerShell, 25 bytes
Usa o fato de
Invoke-RestMethod
retornar a página com uma.html
propriedade somente em caso de falha. (não faço ideia por que exatamente isso acontece ...)inverte a linha para converter em bool, saídas
True
para um site ao vivo ouFalse
para um site inativo.fonte
irm
retorna texto sem formatação para páginas não analisáveis, eu faria uma correspondência em texto sem formatação para que ele tivesse se comportado da mesma forma que iwr, independentemente de eu achar que, se funcionar, ele funcionará.Halovi , 20 bytes
Saída
p.
se o site estiver inativo ee.
se estiver ativo.Explicação:
fonte
Haskell (Lambdabot), 157 bytes
Infelizmente você não pode importar
Network.HTTP.Simple
emtio.run
, a maneira mais fácil de teste seria para executar este script (você vai precisarstack
):fonte
Go, 111 bytes
Na moda típica da Go, o método mais curto é desembolsar.
Outras implementações aqui: https://play.golang.org/p/8T5HSDQFmC
fonte
Clojure, 63 bytes
Verifica se o HTML retornado por
slurp
contém a cadeia"'s j"
(como em "It 'sj ust você"). Talvez eu consiga encontrar uma string menor que seja exclusiva da página, mas ela me salvaria no máximo 2 bytes. Também potencialmente o tornaria menos preciso. "s j" não aparecerá na marcação em nenhum lugar, exceto naquele cenário. Uma string como "u". no entanto, poderia aparecer no URL, o que o quebraria.fonte
Nim, 108 bytes
Infelizmente
strutils
é necessário paracontains
.Aprender Nim, dicas apreciadas!
fonte
PHP,
8278 bytesExemplo de execução de E / S:
Exemplo 2
fonte
+
. E com em$argn
vez de$argv[1]
você poderia usar outros 6 (menos 1) bytes.