When it’s ready.

出来るまで出来ない

オールドPython2.4.xでのtimeoutの仕込み方

Python2.6だと

import urllib2
def hoget():
  try:
    result = urllib2.urlopen(req_url, timeout=5)
    return result.read()
  except urllib2.URLError, e:
    print e

で仕込めるらしいが、Python2.4.3だと使えない。(いまさら2.4なのが痛いが)

で、2.4だとどうすればいいのか分かったのでメモ

import urllib2
import socket
socket.setdefaulttimeout(5)

def hoget():
  try:
    result = urllib2.urlopen(req_url, timeout=5)
    return result.read()
  except urllib2.URLError, e:
    print e

これでいける。カツル!