Getting server status response from HTTP request

pythonhda pythonhda at yahoo.com.replacepythonwithlinux
Mon Feb 16 13:12:40 EST 2004


On Fri, 13 Feb 2004 10:36:44 -0800
Mike C <m at poo.com> wrote:

> First of all, I am a complete newbie to Python, but have been impressed 
> with how easy the language has been to pick up.
> 
> I am trying to write a script that checks to see if the web / 
> application server is up. I have the following code that works:
> 
> --
> import httplib
> 
> try:
>      httpobj = httplib.HTTPConnection('www.domain.com', 80)
>      httpobj.connect();
>      httpobj.putrequest('GET', '/foo/ping.cfm')
>      httpobj.putheader('Accept', '*/*')
>      httpobj.endheaders()
> 
>      reply = httpobj.getresponse()
>      httpobj.close();
> 
>      if reply.status != 200:
>      	print "There may be a problem with the server. Response Status :", 
> reply.status
>      else:
>      	print "server is fine"
>      	
> except Exception:
>      print "An exception occured"
> --
> 
> I was curious if anyone had suggestions on a better way to do this. I 
> tried to use urllin2, but could not figure out how to retrieve the 
> status code.
> 
> mike c

Suggestion...don't use a "GET" request, use a "HEAD" request. That way the server will only return the headers and not the complete file (the status code will be the same) so you can check any file you want using only a minimal amount of bandwidth.



More information about the Python-list mailing list