Python wait until connection is active

I want my python script to check for an active internet connection, and if there is one, then continue execution. If there is no connection, continue checking. Basically block execution in "main ()" until the script can reconnect.

Python

import urllib2

def main():
    #the script stuff

def internet_on():
    try:
        response=urllib2.urlopen('http://74.125.113.99',timeout=1)
        main()
    except urllib2.URLError:
    internet_on()
+3
source share
1 answer

Definitely do not do it recursively. Use a loop instead:

def wait_for_internet_connection():
    while True:
        try:
            response = urllib2.urlopen('http://74.125.113.99',timeout=1)
            return
        except urllib2.URLError:
            pass

def main():
    ...

wait_for_internet_connection()
main()
+4
source

All Articles