Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/python
- ###############################################################################
- #
- # Version 0.1
- #
- ###############################################################################
- import time
- import requests
- import smtplib
- # config, adjust these as per your need
- input_file = 'urls.txt'
- from_email = 'marshx136@gmail.com'
- from_name = 'MX'
- to_emails = [
- 'marshx136@gmail.com'
- ]
- to_names = [
- 'test1',
- 'test2'
- ]
- gmail_id = 'marshx136@gmail.com'
- gmail_password = 'MX'
- message = "From: " + from_name + " <" + from_email + ">\n"
- message += "To: TO_NAME <TO_EMAIL>\n"
- message += "Subject: Instance #bit24 URL status code\n\n"
- f = open('urls.txt','r')
- URLS = f.readlines()
- f.close()
- ###############################################################################
- # Don't edit below this line
- ###############################################################################
- GREEN = '\033[92m'
- YELLOW = '\033[93m'
- RED = '\033[91m'
- ENDC = '\033[0m'
- def main():
- while True:
- print ("\nTesting URLs.", time.ctime())
- checkUrls()
- print ("Press CTRL+C to exit")
- time.sleep(2) #Sleep 10 seconds
- def checkUrls():
- for url in URLS:
- status = "N/A"
- try:
- status = checkUrl(url)
- except requests.exceptions.ConnectionError:
- status = "DOWN"
- sendmail(from_email, to_names, to_emails, message + url + "Status Code: " + status)
- printStatus(url, status)
- time.sleep(2)
- def checkUrl(url):
- try:
- r = requests.get(url)
- return str(r.status_code)
- except Exception as e:
- print (RED + 'Exception:' + ' ' + url)
- sendmail(from_email, to_names, to_emails, message + "Exception for url: " + url)
- def printStatus(url, status):
- color=RED
- if status != None:
- if status == "200":
- color=GREEN
- sendmail(from_email, to_names, to_emails, message + url + "Status Code: OK - " + status)
- elif status == "429":
- sendmail(from_email, to_names, to_emails, message + url + "Status Code: Rate Limiting - " + status)
- print (color+status+ENDC+' '+ url)
- def sendmail(sender, names, receivers, message):
- smtpObj = smtplib.SMTP('smtp.gmail.com:587')
- smtpObj.ehlo()
- smtpObj.starttls()
- smtpObj.login(gmail_id, gmail_password)
- for i, mail in enumerate(receivers):
- message1 = message.replace('TO_EMAIL', mail)
- message2 = message1.replace('TO_NAME', names[i])
- try:
- smtpObj.sendmail(sender, mail, message2)
- except smtplib.SMTPException as e:
- print("Error: unable to send email", e)
- #
- # Main app
- #
- if name == 'main':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement