Tantangan
Tantangannya sederhana, menggunakan http://isup.me , menentukan apakah situs web yang dimasukkan naik atau turun.
Jika situs naik, Anda harus mengembalikan nilai yang benar dan jika situs turun, Anda harus mengembalikan nilai falsey.
Aturan
Input akan berupa alamat web seperti stackexchange.com
atau google.co.uk
. Input tidak akan pernah http://
, https://
dll. Di awal string, tetapi mungkin memiliki www.
atau codegolf.
di awal dll.
Anda harus menggunakan situs isup.me/URL
tempat URL menjadi input.
Ketika sebuah situs naik, itu akan terlihat seperti:
http://isup.me/codegolf.stackexchange.com
Jika sebuah situs sedang down, akan terlihat seperti:
Penyingkat URL tidak diizinkan selain dari isup.me.
Contoh input
Mungkin naik (tergantung keadaan saat ini):
google.de
codegolf.stackexchange.com
worldbuilding.meta.stackexchange.com
tio.run
store.nascar.com
isup.me
Akan turun:
made.up.com
fake.com.us
why.why.why.delilah
store.antarcticrhubarbassociation.an
Kemenangan
Kode terpendek dalam byte menang.
fake.com.us
untuk mengacaukan kasus uji Anda!isup.me
turun?isup.me
. Ini mengembalikan hasil selain dari apa, katakanlah,google.com
dapat kembali.Jawaban:
sh (+ curl + grep),
2826 byteOutput melalui status keluar (0 untuk naik, 1 untuk turun). Mencari
I
di awal baris, yang cocok ketika domain habis (bahkan untuk kasus khusus isup.me/isup.me ).sumber
curl -L isup.me/$1|grep u!
menghemat 1 byte. Ini mengasumsikan itu! bukan karakter yang valid dalam nama domain.0
kebenaran itu benar?0
memang benar di sh, dengan semua nilai bukan yang palsu. Juga, IMO itu benar-benar baik bahwa versi sh sangat singkat, karena itu benar-benar bahasa yang tepat untuk tugas ini bahkan tanpa mempertimbangkan golf.<a href="http://spthissitedoesntexist.invalid" class="domain">spthissitedoesntexist.invalid</a>
Khususnya cocok di dalamhref
.Ditumpuk , 44 byte
Fungsi asinkron yang dihasilkan
0
jika situs tidak naik, dan angka lainnya lebih besar dari0
jika naik.Contoh a:
Output (mungkin):
Is google up? 1
sumber
s u
, perhatikan bahwa ini terjadi pada input apa pun yang dimulai denganu
(apakah naik atau turun).'Is example.com up?' put 'example.com' isup
output (bukan hanya mungkin tapi pasti):Is example.com up? 1
Kotlin REPL -
131 108 106 93 79 55 53 6463 bytePertama-tama, cobalah bermain golf di Kotlin.
Mengharapkan situs web dalam variabel atau nilai bernama
a
.Sekarang dengan ruang kosong berkurang.Siapa bilang "toilet" tidak cukup?
Diperbaiki dan lebih pendek, tidak lagi bergantung pada http://isup.me .
Tidak perlu membuka koneksi sendiri, hanya mendapatkan aliran data (atau tidak)
Tugasnya adalah menggunakan http://isup.me , kan? Juga:
<
bukan karakter yang valid di URL.Sekarang berfungsi
isup.me
sebagai situs web.Sekarang membaca situs web sebagai garis, karena orang tidak dapat menganggap variabel mengandung situs web.
Membaca satu baris yang hanya berisi situs web.
Memeriksa
m h
bagianfrom here
yang dikirim saat situs mati.Mengembalikan "benar" atau "salah" masing-masing.
Sebagai Lambda -
172 120 118 99 85 6766 byteDapat dipanggil langsung:
sumber
loo
nama.electric.boogaloo
tidak ada tetapi stringloo
akan berada di output di sana.Python 2 atau 3 dengan Permintaan (
706968 byte)1 byte dicukur:Tidak, bukan optimasi yang valid."u. "
→" u"
1 byte dicukur:
__import__('requests').
→from requests import*;
Ini sekarang benar-benar sepotong kode REPL-saja, dan setelah menjalankan baris ini fungsi akan dinamai
_
.sumber
)
).u
.from requests import*
danget
1 byte lebih pendek.import
), jadi saya pikir lebih aman untuk hanya menyebutnya sebagai baris REPL.Python3
141133113192141 bytesMembutuhkan Selenium (termasuk webdriver) untuk python.
Terima kasih kepada @cairdcoinheringaahing untuk mengurangi 42 byte!
Terima kasih kepada @ V.Courtois karena menunjukkan perbaikan sederhana!
Mencetak
1
jika situs aktif dan berjalan, atau dicetak0
.Versi tidak disatukan:
sumber
t
). Selain itu, Anda dapat mengirim pernyataan cetak keprint("up"in r.text)
Javascript (ES6),
7466 byteTerima kasih kepada @Shaggy, yang memberi tahu saya bahwa janji yang diselesaikan dianggap sebagai hasil.
Masalah dengan solusi ini yang akan menyebabkan kesalahan CORS kecuali saya mengujinya pada halaman yang sudah di
isup.me
. Tapi saat ini, itu dialihkan kedownforeveryoneorjustme.com
Versi yang lebih lama:
sumber
alert
dan mengembalikan Janji. Lihat di sini . Saya pikir Anda mungkin juga bisa melakukan penghematan/u!/.test(t)
.Pyth , 24 byte
Kembali
True
jika situs sudah habis,False
sebaliknya. URL input harus dikutip. Itu tidak dapat diuji pada juru bahasa online karena'
dinonaktifkan untuk alasan keamanan; sebagai gantinya Anda akan membutuhkan salinan Pyth lokal .Penjelasan
sumber
u
.05AB1E , 22 byte
Cobalah online!
Sayangnya
"isup.me/ÿ".w§„ uå
sepertinya tidak berhasil.sumber
PowerShell, 32 byte
sumber
irm
perilaku aneh menyelamatkan saya banyak yang satu ini. punyaku di siniPowerShell, 25 Bytes
Menggunakan fakta yang
Invoke-RestMethod
mengembalikan halaman dengan a.html
properti hanya jika gagal. (tidak tahu mengapa tepatnya ini terjadi ...)membalikkan baris untuk dikonversi menjadi bool, output
True
untuk situs langsung atauFalse
untuk situs bawah.sumber
irm
mengembalikan plaintext untuk halaman yang tidak dapat diuraikan, saya akan melakukan kecocokan plaintext sehingga akan berperilaku sama seperti iwr, terlepas dari apa yang saya kira berfungsi, itu berfungsi.Halovi , 20 byte
Keluaran
p.
jika situs sedang down, dane.
jika sudah habis.Penjelasan:
sumber
Haskell (Lambdabot), 157 byte
Sayangnya Anda tidak dapat mengimpor
Network.HTTP.Simple
padatio.run
, cara termudah untuk tes akan menjalankan script ini (Anda harusstack
):sumber
Pergi, 111 byte
Dalam mode Go biasa, metode terpendek adalah untuk keluar.
Implementasi lain di sini: https://play.golang.org/p/8T5HSDQFmC
sumber
Clojure, 63 byte
Cek jika HTML dikembalikan oleh
slurp
mengandung string"'s j"
(seperti dalam, "Ini 'sj ust Anda"). Saya mungkin dapat menemukan string yang lebih kecil yang unik untuk halaman, tetapi paling banyak akan menyelamatkan saya 2 byte. Itu juga berpotensi membuatnya kurang akurat. "'s j" tidak akan muncul di markup di mana pun kecuali dalam satu skenario itu. Sebuah string seperti "kamu." namun berpotensi muncul di URL, yang akan merusaknya.sumber
Nim, 108 byte
Sayangnya itu
strutils
diperlukan untukcontains
.Belajar Nim, tips dihargai!
sumber
PHP,
8278 byteContoh i / o berjalan:
Contoh 2
sumber
+
. Dan dengan$argn
alih - alih$argv[1]
Anda bisa menggunakan 6 (minus 1) byte lainnya.