繁体   English   中英

在 Mac 上使用 python 从多个已建立的互联网连接中进行选择(Wifi 与以太网)

[英]Use python to choose from multiple established internet connections on Mac (Wifi vs. ethernet)

在工作中,我同时连接到内部互联网服务(通过 wifi)和用于外部互联网访问的以太网电缆。 wifi 连接是连接到我们内部数据库或系统的唯一方法,但以太网是我浏览互联网所需要的。 目前,默认情况下我使用的是以太网电缆,但是当我需要连接到我们的内部数据库时,我必须拔掉以太网电缆或进入我的设置以更改服务顺序以专门使用 wifi(拔下速度要快得多) .

有什么方法可以在python中指定在连接到我的sql server时专门使用非默认wifi连接?

Python 无法确定如何连接到 IP,即在操作系统的域中,比 Python 关心的级别更低。 您必须说服您的操作系统这样做。 请注意,因此,该方法必须是特定于操作系统的,因此此答案中的任何内容都不适用于 Mac OS X 以外的任何内容。


我不是 100% 确定,但我认为您可以这样做,以便操作系统自动处理这种情况。 尝试这个:

  • 知道您的数据库的 IP 地址(例如 192.168.1.1)
  • 找出连接的名称(可能是 Wi-Fi):

     networksetup -listallnetworkservices
  • 找到带您到达那里的网关(例如 192.168.1.254)及其子网掩码(例如 255.255.255.0):

     networksetup -getinfo Wi-Fi
  • 设置路由,以便您的 Mac OS 知道将该网关用于该地址。 这是内核级的东西,所以你需要超级用户访问:

     sudo networksetup -setadditionalroutes Wi-Fi 192.168.1.1 255.255.255.0 192.168.1.254

如果我是对的,您现在可以使用正常连接浏览网页,并使用 以太网 Wi-Fi 自动连接到您的数据库,而无需您进一步执行任何操作。


另一种方法,更接近你问的方式,是创建两个不同的位置,具有不同的服务顺序; 然后您可以使用以编程方式在它们之间切换

networksetup -switchtolocation MyLovelyDatabase

您可以使用

networksetup -switchtolocation Automatic

您可以使用subprocess从 Python 执行此方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM