Hello internet.
I am wondering, is there a simple way to test for Internet connection? If
not, what is the hard way :p
--
View this message in context: http://www.nabble.com/Testing-for-In...p18460572.html
Sent from the Python - python-list mailing list archive at Nabble.com. 11 10760
Alexnb wrote:
I am wondering, is there a simple way to test for Internet connection? If
not, what is the hard way :p
Trying to fetch the homepage from a few major websites (Yahoo, Google,
etc.)? If all of them are failing, it's very likely that the connection
is down. You can use urllib2 [1] to accomplish that.
[1] <http://docs.python.org/lib/module-urllib2.html>
Alexnb <al********@gmail.comwrites:
I am wondering, is there a simple way to test for Internet
connection? If not, what is the hard way :p
Refine the question: What do you mean by "internet"? It isn't a single
entity.
Do you mean "some particular internet host responding on a particular
network port"?
If you can define exactly what you mean by "internet connection", the
test for it becomes correspondingly easier.
--
\ “Why should I care about posterity? What's posterity ever done |
`\ for me?” —Groucho Marx |
_o__) |
Ben Finney
Alex Marandon wrote:
Alexnb wrote:
>I am wondering, is there a simple way to test for Internet connection? If not, what is the hard way :p
Trying to fetch the homepage from a few major websites (Yahoo, Google,
etc.)? If all of them are failing, it's very likely that the connection
is down. You can use urllib2 [1] to accomplish that.
[1] <http://docs.python.org/lib/module-urllib2.html>
This seems to work and is rather fast and wastes no bandwidth:
================================================== ============================
#!/usr/bin/python
import socket, struct
def check_host(host, port, timeout=1):
"""
Check for connectivity to a certain host.
"""
# assume we have no route.
ret=False
# connect to host.
try:
# create socket.
sock=socket.socket()
# create timeval structure.
timeval=struct.pack("2I", timeout, 0)
# set socket timeout options.
sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVTIMEO, timeval)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_SNDTIMEO, timeval)
# connect to host.
sock.connect((host, port))
# abort communications.
sock.shutdown(SHUT_RDWR)
# we have connectivity after all.
ret=True
except:
pass
# try to close socket in any case.
try:
sock.close()
except:
pass
return ret
# -------------------------------- main ---------------------------------
if check_host("www.heise.de", 80):
print "Horray!"
else:
print "We've lost headquarters!"
================================================== ============================
I hope the code is ok, but there is always something you can do better.
Comments? :)
Cheers,
Thomas.
Alex Marandon <in*****@nowhere.invalid.orgwrote:
Alexnb wrote:
>I am wondering, is there a simple way to test for Internet connection? If not, what is the hard way :p
Trying to fetch the homepage from a few major websites (Yahoo, Google,
etc.)? If all of them are failing, it's very likely that the connection
is down
or there is a mandatory proxy...
Does it count as internet connection, when only port 80 and port 443 are
accessible and those require going through a proxy (very strict firewall
policy)? Or everything requires using SOCKS?
Just some possible problems I came up with. I don't know how often some-
thing like this will happen.
Ciao
Marc
Ben Finney-2 wrote:
Alexnb <al********@gmail.comwrites:
>I am wondering, is there a simple way to test for Internet connection? If not, what is the hard way :p
Refine the question: What do you mean by "internet"? It isn't a single
entity.
Do you mean "some particular internet host responding on a particular
network port"?
If you can define exactly what you mean by "internet connection", the
test for it becomes correspondingly easier.
--
\ “Why should I care about posterity? What's posterity everdone |
`\ for me?” —Groucho Marx |
_o__) |
Ben Finney
-- http://mail.python.org/mailman/listinfo/python-list
Well, really I just need to figure out if I am able to connect to one site.
That site is dictionary.com.
--
View this message in context: http://www.nabble.com/Testing-for-In...p18468350.html
Sent from the Python - python-list mailing list archive at Nabble.com.
>If you can define exactly what you mean by "internet connection", the
>test for it becomes correspondingly easier.
Well, really I just need to figure out if I am able to connect
to one site. That site is dictionary.com.
Then use urllib2 to try to fetch a page from dictionary.com. If
it works, you're "connected". If it fails, you're not. The
most straight-forward way to find out if you can do X is to try
to do X.
--
Grant Edwards grante Yow! if it GLISTENS,
at gobble it!!
visi.com
Troeger Thomas (Ext) wrote:
>
Alex Marandon wrote:
>Alexnb wrote:
>>I am wondering, is there a simple way to test for Internet connection? If not, what is the hard way :p
Trying to fetch the homepage from a few major websites (Yahoo, Google, etc.)? If all of them are failing, it's very likely that the connection is down. You can use urllib2 [1] to accomplish that.
[1] <http://docs.python.org/lib/module-urllib2.html>
This seems to work and is rather fast and wastes no bandwidth:
================================================== ============================
#!/usr/bin/python
import socket, struct
def check_host(host, port, timeout=1):
"""
Check for connectivity to a certain host.
"""
# assume we have no route.
ret=False
# connect to host.
try:
# create socket.
sock=socket.socket()
# create timeval structure.
timeval=struct.pack("2I", timeout, 0)
# set socket timeout options.
sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVTIMEO, timeval)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_SNDTIMEO, timeval)
# connect to host.
sock.connect((host, port))
# abort communications.
sock.shutdown(SHUT_RDWR)
# we have connectivity after all.
ret=True
except:
pass
# try to close socket in any case.
try:
sock.close()
except:
pass
return ret
# -------------------------------- main ---------------------------------
if check_host("www.heise.de", 80):
print "Horray!"
else:
print "We've lost headquarters!"
================================================== ============================
I hope the code is ok, but there is always something you can do better.
Comments? :)
Cheers,
Thomas.
-- http://mail.python.org/mailman/listinfo/python-list
Thomas this code did not work on google.com and I also tried it with port
443
--
View this message in context: http://www.nabble.com/Testing-for-In...p18468756.html
Sent from the Python - python-list mailing list archive at Nabble.com.
Alex Marandon-3 wrote:
>
Alexnb wrote:
>I am wondering, is there a simple way to test for Internet connection? If not, what is the hard way :p
Trying to fetch the homepage from a few major websites (Yahoo, Google,
etc.)? If all of them are failing, it's very likely that the connection
is down. You can use urllib2 [1] to accomplish that.
[1] <http://docs.python.org/lib/module-urllib2.html>
-- http://mail.python.org/mailman/listinfo/python-list
What exactly do you think will work? I am not sure what you think I should
do? If I use urlopen("http://www.google.com") and I am not connected, I am
not going to get an exception, the program will fail.
--
View this message in context: http://www.nabble.com/Testing-for-In...p18471183.html
Sent from the Python - python-list mailing list archive at Nabble.com.
On 2008-07-15, Alexnb <al********@gmail.comwrote:
What exactly do you think will work? I am not sure what you
think I should do? If I use urlopen("http://www.google.com")
and I am not connected, I am not going to get an exception,
the program will fail.
Bullshit. You get an exception. Here's my program:
import urllib2
try:
con = urllib2.urlopen("http://www.google.com/")
data = con.read()
print data
except:
print "failed"
If I run it with no internet connection, I get this:
$ python testit.py
failed
If I bring up the internet connection, then I get a bunch of
HTML.
--
Grant Edwards grante Yow! I'm ZIPPY the PINHEAD
at and I'm totally committed
visi.com to the festive mode.
Grant Edwards wrote:
On 2008-07-15, Alexnb <al********@gmail.comwrote:
>What exactly do you think will work? I am not sure what you think I should do? If I use urlopen("http://www.google.com") and I am not connected, I am not going to get an exception, the program will fail.
Bullshit. You get an exception. Here's my program:
import urllib2
try:
con = urllib2.urlopen("http://www.google.com/")
data = con.read()
print data
except:
print "failed"
If I run it with no internet connection, I get this:
$ python testit.py
failed
If I bring up the internet connection, then I get a bunch of
HTML.
=============================
Yep -me two
Process:
copy/paste into afile
slide lines left to create proper indent values
save
python afile
I get same as Grant
If one does a copy/paste into interactive Python, it does fail.
(Lots of indent error messages. After all, it is Python :)
Steve no******@hughes.net
On 2008-07-15, norseman <no******@hughes.netwrote:
Process:
copy/paste into afile
slide lines left to create proper indent values
save
python afile
I get same as Grant
If one does a copy/paste into interactive Python, it does fail.
(Lots of indent error messages. After all, it is Python :)
I'm always a bit conflicted about how to post code snippets.
IMO, the posting is a lot more readable if the code is indented
to offset it from the prose, but it does make more work for
anybody who wants to run the example.
--
Grant Edwards grante Yow! Did I SELL OUT yet??
at
visi.com This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Cliff Wells |
last post by:
Hi,
I'm writing an application that needs to know if an Internet connection
is available. Basically, I want to have something similar to what a lot
of email clients have, where the app can work...
|
by: Jozef |
last post by:
Hello,
Is there a way to test that an internet connection exists and that you are
able to see the webserver before performing any connections? The reason
being, when I try to connect to an SQL...
|
by: Jonny |
last post by:
Hi,
Please could you tell me how to check for an internet connection in C.
I'm using Windows 2000.
Many Thanks,
Jonny
|
by: PeterH |
last post by:
I am developing a web service client as a VB.Net Windows Forms
application. I need to test whether the computer running my application
has an open Internet connection and, if so, whether it is a...
|
by: Mark C |
last post by:
I have a cable internet and would like to view my web site as if I was
on a dial-up for testing purposes
Is there anyway you could slow down your internet connection
Regards
Mark Crosbie
|
by: CLM |
last post by:
When I test the remote access at work (lapttop computer to desk top computer) the connection works fine. When I bring the laptop home and try to connect to my desktop I get the error msg:
The...
|
by: =?Utf-8?B?QnNtZW5nZW4=?= |
last post by:
I am trying to make sure that the local connection is up. I have presently
been using the NetworkChange.NetworkAvailabilityChanged Event for this. Is
there a better way to do this?
Also, I...
|
by: =?Utf-8?B?QiBTaW5naA==?= |
last post by:
Hi
Scenario
1) Host - XP Laptop with internet connection using Sky Broadband Wireless
Router Netgear DG834GT
2) MS Virtual Server 2005 - I have deployed an XP MS Virtual Server 2005 to
act...
|
by: =?Utf-8?B?QWxoYW1icmEgRWlkb3MgRGVzYXJyb2xsbw==?= |
last post by:
Hi all mister,
Which is THE BEST WAY IN THE WORLD AROUND for:
1. detect Network
|
by: lllomh |
last post by:
Define the method first
this.state = {
buttonBackgroundColor: 'green',
isBlinking: false, // A new status is added to identify whether the button is blinking or not
}
autoStart=()=>{
|
by: Aliciasmith |
last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
|
by: tracyyun |
last post by:
Hello everyone,
I have a question and would like some advice on network connectivity. I have one computer connected to my router via WiFi, but I have two other computers that I want to be able to...
|
by: giovanniandrean |
last post by:
The energy model is structured as follows and uses excel sheets to give input data:
1-Utility.py contains all the functions needed to calculate the variables and other minor things (mentions...
|
by: NeoPa |
last post by:
Hello everyone.
I find myself stuck trying to find the VBA way to get Access to create a PDF of the currently-selected (and open) object (Form or Report).
I know it can be done by selecting :...
|
by: Teri B |
last post by:
Hi, I have created a sub-form Roles. In my course form the user selects the roles assigned to the course.
0ne-to-many. One course many roles.
Then I created a report based on the Course form and...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 1 Nov 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM)
Please note that the UK and Europe revert to winter time on...
|
by: isladogs |
last post by:
The next online meeting of the Access Europe User Group will be on Wednesday 6 Dec 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM).
In this month's session, Mike...
|
by: GKJR |
last post by:
Does anyone have a recommendation to build a standalone application to replace an Access database? I have my bookkeeping software I developed in Access that I would like to make available to other...
| |