In this article I'll show you how to make a simple IP address notifier. The program will text you your new IP address, in the event that it changes. For those of you with dynamic IPs, this is very useful. I'm constantly frustrated when my IP changes, and it's handy to be notified via text when it happens. To use the program, you'll need Python 2.7 or later, urllib2, and a program called "text" (see this article here to get it).
The Code
from urllib2 import urlopen
import time
import text
#imports all required modules
loop=1
#this is the loop function that allows the code to be re-run every 24 hours
ip=urlopen('http://www.whatismyip.org/').readlines()[0]
#this is the initial ip, the one you have right now
while loop==1:
currentIP=''
url = urlopen('http://www.whatismyip.org/')
#starts loop, creates currentIP and url variables
currentIP=url.readlines()[0]
#sets your current ip to currentIP variable
if (ip!=currentIP):
#if the original ip doesn't equal the currentIP...
text.text('YOUR.PHONE', currentIP)
#text you the new ip address
ip=urlopen('http://www.whatismyip.org/').readlines()[0]
#and reset the original ip to the current one
time.sleep(86400)
#time to sleep until next check
Note: DO NOT change the loop time! "WhatIsMyIP.org" doesn't like bots pinging their server multiple times. The loop time is designed to simulate a real person, and not overload the server with redundant requests.
Uses and Other Applications
The program itself is very simple; checks for changes in IP and lets you know via text. But, this program could also check any website for information you'd like, and text it to you. Simply change the URL and which lines the program is identifying and extracting. Of course, ensure the site you are using has no restrictions against bots pinging their servers. If you have any other ideas/suggestions, please comment! :)
If you're interested in other articles related to Python, check out Python Gmail Notifier and Encrypting Text in Python.
Photos by hackinghome, MJ/TR
Comments
No Comments Exist
Be the first, drop a comment!