如何使用python在MacOS上设置代理设置

Mah*_*fei 2 python macos proxy python-2.7 python-3.x

如何在MacOS中使用python更改Internet代理设置来设置Proxy serverProxy port

我使用此代码使用Windows执行此操作:

import _winreg as winreg

INTERNET_SETTINGS = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\Microsoft\Windows\CurrentVersion\Internet Settings', 0, winreg.KEY_ALL_ACCESS)

def set_key(name, value):
    _, reg_type = winreg.QueryValueEx(INTERNET_SETTINGS, name)
    winreg.SetValueEx(INTERNET_SETTINGS, name, 0, reg_type, value)

set_key('ProxyEnable', 0)
set_key('ProxyOverride', u'*.local;<local>')  # Bypass the proxy for localhost
set_key('ProxyServer', u'proxy.example.com:8080')
Run Code Online (Sandbox Code Playgroud)

这可以在MacOS上实现吗?

Mah*_*fei 7

经过很长一段时间的搜索,我发现了如何使用python更改MacO上的代理.

我们需要使用networksetupvia终端.

使用python在MacOS上设置http代理服务器:

import os

proxy = "proxy.example.com"
port = 8080

def Proxy_on():
    os.system('networksetup -setwebproxy Ethernet '+proxy+' '+port)

Proxy_on()
Run Code Online (Sandbox Code Playgroud)

并将其关闭:

import os

proxy = "proxy.example.com"
port = 8080

def Proxy_off():
    os.system('networksetup -setwebproxystate Ethernet off')

Proxy_off()
Run Code Online (Sandbox Code Playgroud)

如果网络服务未命名为"以太网",则可能需要解析networksetup -listallnetworkservices-listnetworkserviceorder获取正确的名称.