도전
http://isup.me를 사용 하면 입력 한 웹 사이트가 작동 중인지 작동 중지되는지 를 쉽게 확인할 수 있습니다.
사이트가 작동하면 정확한 값을 반환하고 사이트가 작동하지 않으면 잘못된 값을 반환해야합니다.
규칙
입력과 같은 웹 주소 것 stackexchange.com
또는 google.co.uk
. 입력은하지 않아도됩니다 http://
, https://
문자열의 시작 등,하지만있을 수 있습니다 www.
또는 codegolf.
시작에서 등
isup.me/URL
URL이 입력 된 사이트를 사용해야합니다 .
사이트가 작동하면 다음과 같습니다.
http://isup.me/codegolf.stackexchange.com
사이트가 다운되면 다음과 같이 표시됩니다.
URL 단축기는 isup.me와 분리되어 허용되지 않습니다.
입력 예
아마도 현재 상황에 따라 다름 :
google.de
codegolf.stackexchange.com
worldbuilding.meta.stackexchange.com
tio.run
store.nascar.com
isup.me
다운 될 것이다 :
made.up.com
fake.com.us
why.why.why.delilah
store.antarcticrhubarbassociation.an
승리
바이트 단위의 최단 코드가 이깁니다.
답변
sh (+ curl + grep), 28 26 바이트
curl -L isup.me/$1|grep ^I
종료 상태를 통해 출력합니다 (0은 업, 1은 다운). 을 찾습니다 I
도메인 (심지어의 특별한 경우를 위해 경우에 일치하는 라인의 시작 부분에 isup.me/isup.me ).
답변
스택 , 44 바이트
['http://isup.me/'\+[CS'!'eq sum 2=out]curl]
0
사이트가 작동하지 않는 경우 출력 하고 작동 하지 않는 다른 숫자는 출력 하는 비동기 함수입니다 0
.
예 a :
['http://isup.me/'\+['s u'split#'1-put]curl] @:isup
'Is google up?' put 'google.com' isup
출력 (아마도) : Is google up? 1
답변
코 틀린 REPL-131108106 93 79 55 53 64 63 바이트
먼저 Kotlin 골프를 시도하십시오.
변수 또는 값으로 웹 사이트를 기대합니다 a
.
이제 공백이 줄어 듭니다.
“루”가 충분하지 않다고 누가 말했습니까?
고정 및 단축, 더 이상 http://isup.me에 의존하지 않습니다 .
연결 자신을 열 필요는 단지 데이터의 스트림을 얻을 (여부)
작업을 사용하는 것이 었습니다 http://isup.me 오른쪽? 또한 : <
URL에서 유효한 문자가 아닙니다.
이제 isup.me
웹 사이트로 작동합니다.
이제 웹 사이트를 포함하는 변수를 가정 할 수 없으므로 웹 사이트를 한 줄로 읽습니다.
"m h" !in java.net.URL("http://isup.me/"+readLine()).readText()
웹 사이트 만 포함하는 한 줄을 읽습니다. 사이트가 다운되었을 때 전송
되는 m h
부분을 확인 from here
합니다.
“true”또는 “false”를 각각 반환합니다.
Lambda로-17212011899 85 67 66 바이트
{a:String->"m h" !in java.net.URL("http://isup.me/$a").readText()}
직접 호출 할 수 있습니다.
{ ... }("google.com")
답변
요청이있는 Python 2 또는 3 ( 70 69 68 바이트)
from requests import*;lambda u:"u. "in get("http://isup.me/"+u).text
1 바이트 면도 : 아니요, 유효한 최적화가 아닙니다. "u. "
→" u"
1 바이트 면도 : __import__('requests').
→from requests import*;
이것은 실제로 REPL 전용 코드 조각이며,이 줄을 실행 한 후 함수 이름이으로 지정 _
됩니다.
답변
Python3 141 133 113 192 141 바이트
Python에는 Selenium (웹 드라이버 포함)이 필요합니다 .
42 바이트를 줄인 @cairdcoinheringaahing에게 감사드립니다!
간단한 수정을 지적한 @ V.Courtois에게 감사합니다!
from selenium import*
d=webdriver.Firefox();d.get("http://isup.me/"+input());print("up"in d.find_element_by_xpath("//*[@id='content']/p[1]"))
인쇄 1
사이트, 및 실행 다른 인쇄하는 경우 0
.
언 골프 버전 :
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
urlToTest = "www.f.com"
driver = webdriver.Firefox()
driver.get("http://downforeveryoneorjustme.com/"+urlToTest)
res = driver.find_element_by_xpath("//*[@id='content']/p[1]")
print(1 if "up" in res.text else 0)
답변
자바 스크립트 (ES6), 74 66 바이트
f=s=>fetch('//isup.me/'+s).then(r=>r.text()).then(t=>/u!/.test(t))
@Shaggy 덕분에 약속 된 약속이 출력으로 계산된다는 점에 주목했습니다.
이 솔루션의 문제는 이미있는 페이지에서 테스트하지 않으면 CORS 오류가 발생한다는 것입니다 isup.me
. 하지만 현재는downforeveryoneorjustme.com
이전 버전 :
f = s => fetch ( '// isup.me/'+s).then(r=>r.text()).then(t=>alert(t.match(/u!/)))
답변
Pyth , 24 바이트
}" u"s'+"http://isup.me/
True
사이트가 켜져 있으면 반환 하십시오 False
. 입력 URL을 인용해야합니다. '
안전상의 이유로 비활성화되어 있기 때문에 온라인 통역사에서 테스트 할 수 없습니다 . 대신 Pyth 의 로컬 사본이 필요합니다 .
설명
Q # Implicit input
+"http://isup.me/ # Concatenate "http://isup.me/" with the input
' # Open the URL
s # Concatenate all the lines of the returned HTML page
}" u" # Test whether " u" is in the page or not