[python-win32] network/internet info?
Tim Golden
mail at timgolden.me.uk
Tue Apr 13 10:24:22 CEST 2010
On 13/04/2010 03:31, Alex Hall wrote:
> 1. current network connection type (ethernet, wifi, bluetooth, whatever).
> 2. Current up/down speed (such as 200kb up, 100kb down) for the
> current internet connection
> 4. MAC address of currently active connection
(Note there can be more than one network connection active...)
<code>
import wmi
c = wmi.WMI ()
for nic in c.Win32_NetworkAdapterConfiguration (IPEnabled=True):
print nic
for perf in c.Win32_PerfRawData_Tcpip_NetworkInterface (Name=nic.Description):
print perf
</code>
> 3. Is there an active internet connection, or is access local only?
> Basically, the status that shows up in your system tray when you have
> the network icon showing.
> 5. For wifi, encryption status, radio type (of the router, not of the
> computer's adapter), signal strength.
Not sure about these, I'm afraid. The surest way to test "3" (active internet
connection) is to connect to some known address. Your local network can
have any configuration you like, so it's up to you to define "internet". eg:
<code>
import socket
try:
socket.socket ().connect (("#known web server#", 80))
except socket.error:
print "could not connect"
else:
print "could connect"
</code>
TJG
More information about the python-win32
mailing list