how to check if URL cannot be opened

Josef Meile jmeile at
Wed Oct 27 21:05:14 CEST 2004

Hi John,

> Im new to python. So I was hoping someone could provide the following.
> How would I go about checking if a user can be opened. For example if
> user provides, how would I check if there is such a url?
> What methods would I need to invoke?

This is the code I use with python greater than 2.3.3:

import urllib2
import socket

def checkUrl(url, timeout=5, SSL=0):
   """Checks an url for a python version greater
      than 2.3.3.

   except (urllib2.HTTPError, urllib2.URLError,
           socket.error, socket.sslerror):
   return found

Please note that I use the setdefaulttimeout method of the module socket 
because sometimes, specially if you type invalid ssl urls, the main 
thread will take a long time till you see an answer. With the timeout, 
it will wait for 5 seconds, then it will return. I also use the urllib2 
because its urlopen method is better than the original of urllib: Some 
webservers like zope, return an error page when an url isn't found; with 
urllib.urlopen, this page will be considered as a normal page. On the 
other hand, the urllib2.urlopen will raise an exception.


More information about the Python-list mailing list