Kingsley: >it just sits in either the urlopen() or read() forever. [...] >I would have thought that some urllib-internal timeout >would fix this?! Yes, but you'll need to enable it. See socket.setdefaulttimeout() : http://docs.python.org/lib/module-socket.html -- René Pijlman