Home Page
  • March 29, 2024, 08:32:24 am *
  • Welcome, Guest
Please login or register.

Login with username, password and session length
Advanced search  

News:

Official site launch very soon, hurrah!


Author Topic: Ping URL  (Read 8115 times)

Dakusan

  • Programmer Person
  • Administrator
  • Hero Member
  • *****
  • Posts: 535
    • View Profile
    • Dakusan's Domain
Ping URL
« on: December 23, 2010, 11:32:33 am »

Original post for Ping URL can be found at https://www.castledragmire.com/Posts/Ping_URL.
Originally posted on: 12/23/10

The following is a Python script that automatically pings a requested web address at a given interval. It was made as a quick favor for a friend. Here is the downloadable source code and Windows binary.

The Configuration Options File (PingURL.cfg) contains 2 lines:
  1. The URL to ping (The default pings the GetIP script)
  2. The millisecond interval between pings (Default=600000=10 minutes)


#!python
from sys import stderr
from urllib import urlopen
from time import localtime, strftime, sleep

#Main function
def Main():
   #Open the settings file
   SettingFileName='PingURL.cfg';
   Settings=[] #Blank out settings file variable in case it can't be opened
   try:
       Settings=open(SettingFileName, 'r').readlines()
   except IOError as (errno, strerror):
       stderr.write('Cannot open {0} configuration file: I/O error({1}): {2}\n'.format(SettingFileName, errno, strerror))
       return

   #Confirm valid settings were passed
   if(len(Settings)<2):
       stderr.write('Not enough settings found in settings file\n')
       return
   try:
       IntervalTime=int(Settings[1])
   except:
       stderr.write('Invalid interval time\n')
       return
       
   #Ping the URL indefinitely
   while(True):
       try:
           URLText=urlopen(Settings[0]).read()
       except:
           URLText='READ FAILED'
       print 'URL Pinged At {0}: {1}'.format(strftime('%Y-%m-%d %H:%M:%S', localtime()), URLText)
       sleep(IntervalTime/1000)

#Run the program
Main()
Logged