N
News123
Hi,
I'd like to write a function, that knows when the 'internet' is reachable.
My setup is a windows7 host with a wireless USB modem. The modem might
connect / disconnect any time.
I thought I write a small function just checking whether I can fetch a url.
######### script starts
import time,urllib2
myurl = "http://www.mysite.com" # or "www.google.com" or whatever you like
while True:
connected = False
try:
urllib2.urlopen(myurl)
connected = True
except urllib2.URLError as e:
print "urlerr %s" % e
print "connected",connected
time.sleep(1)
########## end of script
if the network is connected when I start the script the first time after
reboot, then I receive
If the network is disconnected when I start the script the first time
after reboot, then I receive
Things are getting weired, when my USB wireless modem connects after
I started my script:
It happens, that I just continue to receive:
however when I use a windows cmd window and I start
"ping www.mysite.com", then my python script recovers and reports
My perhaps false conclusion is, that getaddrinfo() is not retrying to
resolve an IP address, when it failed once.
Is this behaviour known? Can this really be possible?
I can reproduce this issue. not every time, but rather often.
If yes, is there any way to force a new host name lookup under windows?
What else could I be doing wrong?
Thanks a lot in advance for any ideas
N
I'd like to write a function, that knows when the 'internet' is reachable.
My setup is a windows7 host with a wireless USB modem. The modem might
connect / disconnect any time.
I thought I write a small function just checking whether I can fetch a url.
######### script starts
import time,urllib2
myurl = "http://www.mysite.com" # or "www.google.com" or whatever you like
while True:
connected = False
try:
urllib2.urlopen(myurl)
connected = True
except urllib2.URLError as e:
print "urlerr %s" % e
print "connected",connected
time.sleep(1)
########## end of script
if the network is connected when I start the script the first time after
reboot, then I receive
As expectedconnected True
If the network is disconnected when I start the script the first time
after reboot, then I receive
as expectedurlerr <urlopen error [Errno 11004] getaddrinfo failed>
connected False
Things are getting weired, when my USB wireless modem connects after
I started my script:
It happens, that I just continue to receive:
urlerr <urlopen error [Errno 11004] getaddrinfo failed>
connected False
however when I use a windows cmd window and I start
"ping www.mysite.com", then my python script recovers and reports
connected True
My perhaps false conclusion is, that getaddrinfo() is not retrying to
resolve an IP address, when it failed once.
Is this behaviour known? Can this really be possible?
I can reproduce this issue. not every time, but rather often.
If yes, is there any way to force a new host name lookup under windows?
What else could I be doing wrong?
Thanks a lot in advance for any ideas
N