如题在Mac平台上,直接用python代码的方式,设置mac系统代理。
直接上代码(好用的话,记录观注点赞哟):
import os
"""
以下以更改本机的Wifi上的代理为例,如果mac机上有多块网卡,使用
networksetup -listallnetworkservices 查看网卡清单,然后设
"""
device_name = 'Wi-Fi'
# 代理服务器的地址
proxy = '127.0.0.1'
# 代理服务器的端口号
port = 8080
# 设置代理
def proxy_on():
# 设置http代理地址
os.system('networksetup -setwebproxy {} {} {}'.format(device_name, proxy, port))
# 设置https代理地址
os.system('networksetup -setsecurewebproxy {} {} {}'.format(device_name, proxy, port))
# 设置socks代理地址
os.system('networksetup -setsocksfirewallproxy {} {} {}'.format(device_name, proxy, port))
# 上面是设置上代理地址和端口号,还要使用下面三个命令应用设置
# 开启http代理
os.system('networksetup -setwebproxystate {} on'.format(device_name))
# 开启https代理
os.system('networksetup -setsecurewebproxystate {} on'.format(device_name))
# 开启socks代理
os.system('networksetup -setsocksfirewallproxystate {} on'.format(device_name))
# 这一条可以不用设置,可指定哪些地址是不需要代理的
os.system(
'networksetup -setproxybypassdomains {} 192.168.0.0/16 10.0.0.0/8 '
'172.16.0.0/12 127.0.0.1 localhost *.local timestamp.apple.com '
'sequoia.apple.com seed-sequoia.siri.apple.com'.format(device_name))
# 取消代理设置
def proxy_off():
os.system('networksetup -setwebproxystate {} off'.format(device_name))
os.system('networksetup -setsecurewebproxystate {} off'.format(device_name))
os.system('networksetup -setsocksfirewallproxystate {} off'.format(device_name))
os.system(
'networksetup -setproxybypassdomains {} "Empty"'.format(device_name))
if __name__ == '__main__':
proxy_off()