python切换网络连接

#coding=GB2312

import os
import sys
import subprocess
import _winreg

LOCAL_CONNECT_NAME = '本地连接'
WIFI_CONNECT_NAME  = '无线网络连接'
INTERNET_SETTING_REG = r'Software\Microsoft\Windows\CurrentVersion\Internet Settings'
PROXY_ENABLE_NAME = 'ProxyEnable'

def setEnable(connName, enable=True):
	str_enable = ''
	if enable:
		str_enable = 'enable'
	else:
		str_enable = 'disable'

	cmd='netsh int set int name=%s admin=%s' %			('"'+connName+'"',			str_enable)
	print cmd
	ret =subprocess.call(cmd, shell=True)
	#print 'ret=',ret
	if ret != 0:
		print '网络连接设置失败'
	else:
		print '网络连接设置成功'

def setIEProxyEnable(val= 1):
	try:
		#OpenKey默认以只读的权限打开,由于没有设置_winreg.KEY_ALL_ACCESS
		#导致后面的setValueEx挂掉,出现WindowsError [5]
		#要特别注意打开权限
		key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,INTERNET_SETTING_REG,0, _winreg.KEY_ALL_ACCESS)
		v, t = _winreg.QueryValueEx(key, PROXY_ENABLE_NAME)
		if v != val:
			_winreg.SetValueEx(key, PROXY_ENABLE_NAME, 0, t, val)
	except Exception,e:
		print '设置IE代理失败:' , e.message
		sys.exit(0)
	print '设置代理成功'

if __name__ == '__main__':
	reload(sys)
	sys.setdefaultencoding('GB2312')

	setIEProxyEnable(0)
	if len(sys.argv) != 2:
		print 'switch_net.py N\r\n0:local 1:wifi.'
		sys.exit(0)

	if int(sys.argv[1]) == 0:
		setEnable(LOCAL_CONNECT_NAME)
		setEnable(WIFI_CONNECT_NAME,False)
		setIEProxyEnable()
	else:
		setEnable(LOCAL_CONNECT_NAME,False)
		setEnable(WIFI_CONNECT_NAME)
		setIEProxyEnable(0)

时间: 2024-10-11 09:54:21

python切换网络连接的相关文章

python简单网络连接

聊天模式 client端 import socket sk = socket.socket() address = ('172.16.10.1',3000) sk.connect(address) while True: inp = input('>>>') if inp == 'exit': break sk.send(bytes(inp,'utf8')) data = sk.recv(1024) print(str(data,'utf8')) sk.close() #client端结

CentOS IP丢失,切换了网络连接导致的vmnet8未启用dhcp

解决了, 这个问题是我在开启虚拟机ubuntu系统的过程中, 在主机win7上切换了网络连接导致的, 就是刚开始我用的无线宽带上网, 此时开启了ubuntu ,然后使用过程中,我在win7上切换回静态连接有线上网, 此时ubuntu断网, 这个问题是, 在主机切换网络之后, ubuntu并没有识别到当前网络变化 一直在沿用之前的网络,但是主机已经不再提供之前的网络了, 所以ubuntu顺利断网, 要想恢复网络, 就需要在ubuntu中 ip/ stop , renew release 一下,就是

Python 入门网络爬虫之精华版

转载 宁哥的小站,总结的不错 Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 另外,比较常用的爬虫框架Scrapy,这里最后也详细介绍一下. 首先列举一下本人总结的相关文章,这些覆盖了入门网络爬虫需要的基本概念和技巧:宁哥的小站-网络爬虫 当我们在浏览器中输入一个url后回车,后台会发生什么?比如说你输入http://www.lining0806.com/,你就会看到宁哥的小站首页. 简单来说这段过程发生了以下四个步骤: 查找域名对应的IP地址. 向IP对应的服务器发送请求. 服务

VMware中三种网络连接的区别

VMware中三种网络连接的区别 1.概述 2.bridged(桥接模式) 3.NAT(网络地址转换模式) 4.host-only(主机模式) 5.replicate physical network connection state 选项解释 1.概述 大家在安装完虚拟机后,默认安装了两个虚拟网卡,VMnet1和VMnet8,如下图.其中VMnet1是host网卡,用于host方式连接网络的.VMnet8是NAT网卡,用于NAT方式连接网络的.它们的IP地址是随机生成的. VMware提供了三

安卓实训第九天---Activity的复习以及在Onstart里设置网络连接

今天,首先对Activity的生命周期进行复习: (下面的截图部分是借鉴自赵雅智老师的博客...) Activity的完整生命周期自第一次调用onCreate()开始,直至调用onDestroy()为止.Activity在onCreate()中设置所有"全局"状态以完成初始化,而在onDestroy()中释放所有系统资源.例如,如果Activity有一个线程在后台运行从网络下载数据,它会在onCreate()创建线程,而在 onDestroy()销毁线程. 刚进入activity: 按

Python实现网络爬虫

一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛. 网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址, 然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止. 如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来. 这样看来,网络爬虫就是一个爬行程序,一个抓

Android 网络连接状态的监控

有些应用需要连接网络,例如更新后台服务,刷新数据等,最通常的做法是定期联网,直接使用网上资源.缓存数据或执行一个下载任务来更新数据. 但是如果终端设备没有连接网络,或者网速较慢,就没必要执行这些任务.可以使用ConnectivityManager检查是事联网以及当前是何种类型的网络.具体 代码如下: ConnectivityManager cm = (ConnectivityManager) getApplicationContext().getSystemService(Context.CON

VirtualBox的四种网络连接方式

VirtualBox中有4中网络连接方式:a. NAT                          网络地址转换模式(Network Address Translation)b. Bridged Adapter        桥接模式c. Internal                     内部网络模式d. Host-only Adapter     主机模式 VMWare中有三种,其实他跟VMWare 的网络连接方式都是一样概念,只是比VMWare多了Internal方式. 要让自

python编写网络抓包分析脚本

python编写网络抓包分析脚本 写网络抓包分析脚本,一个称手的sniffer工具是必不可少的,我习惯用Ethereal,简单,易用,基于winpcap的一个开源的软件 Ethereal自带许多协议的 decoder,但是它的架构并不灵活,如果你要加入一个自己定义的的解码器,得去修改Ethereal的代码,再重新编译,相当的烦琐 对于一般的明文协议,没有什么问题,但是对于加密协议,比如网络游戏,客户端程序一般会在刚连接上的时候,发送一个随机密钥,而后的报文都会用这个密钥进 行加密,诸如此类.要想