2009-08-28 4 views

답변

7

import urllib 
file = urllib.urlopen("http://stackoverflow.com/") 
html = file.read() 

을 시도하고 그것이 작동하는지, 또는 예외가 발생합니다. 정확한 코드를 사용하지 않더라도 아이디어를 얻어야합니다.

+2

롤 (Lol)은 SO가 다운 된 경우에만 거짓 음성을 제공합니다. 두 개 사이트를 확인하고 적어도 한 개 이상 있으면 연결을 시도하는 것이 좋습니다. –

+0

그것은 단지 삽화였습니다 - 당신이 원하는 어떤 사이트라도 사용하십시오! –

+0

프록시 서버가 실행중인 경우에도 실패 할 수 있습니다. –

16

python2.6이있는 경우 시간 초과를 설정할 수 있습니다. 그렇지 않으면 연결이 오랜 시간 차단 될 수 있습니다.

try: 
    urllib2.urlopen("http://example.com", timeout=2) 
except urllib2.URLError: 
    # There is no connection 
+1

시간 제한에 +1입니다. Gamecat이 말했듯이 example.com이 다운 된 것을 의미 할 수도 있습니다 .-) –

+11

@Vinay, 맞습니다. 어쩌면 그는 google.com을 시도해야 할 것입니다. Google이 다운 된 경우. 그렇다면 인터넷이 없다고 추측합니다.) –

+1

가져 오기 소켓을 사용하여 2.5에서 시간 초과를 설정할 수도 있습니다. socket.setdefaulttimeout (<초 단위의 시간); – tgray