当前位置:首页 > CN2资讯 > 正文内容

python自动代理切换

2天前CN2资讯

 

  • import socket 
  • import os 
  • import time 
  • import winreg 
  • import wmi 
  •  
  • '''''set/unset proxy, according to ip addr''' 
  • def proxy(enable): 
  •     root = winreg.HKEY_CURRENT_USER 
  •     subkey = r'Software\Microsoft\Windows\CurrentVersion\Internet Settings' 
  •     valuename = 'ProxyEnable' 
  •     key = winreg.OpenKey(root, subkey, access=winreg.KEY_ALL_ACCESS) 
  •     value, t = winreg.QueryValueEx(key, valuename) 
  •     #print(value, t) 
  •     if enable: 
  •         if value == 1: 
  •             print('Already enable proxy!') 
  •             return 0 
  •         winreg.SetValueEx(key, valuename, 0, t, 1) 
  •         killie() 
  •         print('Enable proxy Done!') 
  •     else: 
  •         if value == 0: 
  •             print('Already unable proxy!') 
  •             return 0 
  •         winreg.SetValueEx(key, valuename, 0, t, 0) 
  •         killie() 
  •         print('Disable proxy Done') 
  •  
  • def unproxy(): 
  •     proxy(False) 
  •  
  • def killie(): 
  • ''' if ie running, kill it. make change takes effect'''
  •     c = wmi.WMI(find_classes=False) # turn off introspection 
  •     for p in c.Win32_Process(['Name']): 
  •         if  == 'iexplore.exe': 
  •             os.system('taskkill /im iexplore.exe /f') 
  •             return 
  •     print('Not found iexplore.exe!')     
  •      
  •  
  • def getipaddr(): 
  •     '''first get all interface addr''' 
  •     #hostname = socket.getfqdn(socket.gethostname()) 
  •     hostname = socket.gethostname() 
  •     hostaliasip = socket.gethostbyname_ex(hostname) 
  •     #host, hostalias, iplist = hostaliasip 
  •     return hostaliasip 
  •  
  • def main(iplist): 
  •     '''''check whether at room, if true, cancel proxy''' 
  •     network = '192.168.1.' 
  •     for ip in iplist: 
  •         if network in ip: 
  •             unproxy() 
  •             return 0 
  •     # else enable proxy 
  •     proxy(True) 
  •  
  • if __name__ == '__main__': 
  •     main(getipaddr()[2]) 
  •     time.sleep(2) 
  •  

      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/25099.html

      分享给朋友:

      “python自动代理切换” 的相关文章

      Vorboss:伦敦领先的商业光纤网络提供商,互联网速度与稳定性之选

      Vorboss概述 在现代商业环境中,服务的速度和稳定性比以往任何时候都重要。Vorboss的出现,为伦敦的企业带来了一个崭新的光纤网络选择。作为伦敦唯一专用的商业光纤网络,Vorboss提供至少10Gbps的互联网速度,并且支持扩展到100Gbps。这种高效的网络解决方案为雄心勃勃的公司提供了直接...

      如何有效利用闲置VPS:再利用与出租的最佳实践

      闲置VPS,这个词可能对很多人来说并不陌生,尤其是在互联网和云计算技术快速发展的今天。说白了,闲置VPS就是那些购买了却没有得到充分利用的虚拟私人服务器。很多用户在购买VPS后,可能由于项目需求的变化或者个人时间的限制,最终导致这些资源被闲置。这不仅仅是浪费金钱,也让我们的资源没有得到最好的应用。...

      KVM是什么?深入了解KVM的定义、工作原理及应用场景

      KVM的定义与概念 谈到KVM时,首先想到的就是“键盘、显示器和鼠标”的组合,它让我们可以用一组设备控制多台计算机。这种技术非常适合在数据中心或需要远程管理的环境中使用。我对这个系统产生了兴趣,因为它显著提高了管理效率,节省了空间,还所有的操作都变得更简便。想象一下,如果有多台服务器,你需要同时监控...

      甲骨文云免费套餐与ARM CPU优势解析

      甲骨文云(Oracle Cloud)是一个强大的云服务平台,近年来受到了越来越多用户的关注。我自己也曾经探索过这个平台,在这里我想和大家聊聊甲骨文云的免费套餐,这对中小企业以及开发者来说真的是一个不错的选择。免费的套餐不仅简化了入门程序,也为新用户提供了足够的资源来尝试不同的云服务。 甲骨文云的免费...

      如何在VPS上启用和配置IPv6以提升网络性能

      在当今数字化的时代,互联网已经成为我们日常生活中不可或缺的一部分。随着设备和用户数量的快速增长,现有的IPv4地址开始捉襟见肘。这时,IPv6(Internet Protocol Version 6)应运而生,作为下一代互联网协议,它的出现可以说是一种必然趋势。IPv6不仅解决了IPv4地址耗尽的问...

      选择香港机房的优势与服务:最理想的数据中心解决方案

      在当今数字化的时代,香港机房作为亚洲地区的数据中心枢纽,其重要性愈发凸显。随着全球对高效、安全、稳定数据处理需求的上升,香港凭借其优越的地理位置和完善的网络基础设施,已成为众多企业首选的托管与服务器服务地点。以高速网络连接、优质的BGP多线路接入以及高标准的设施著称,香港机房为客户提供了一系列的解决...