Getting server status response from HTTP request

M

Mike C

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
 
P

pythonhda

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,183
Messages
2,570,965
Members
47,513
Latest member
JeremyLabo

Latest Threads

Top