IT评测·应用市场-qidao123.com

标题: Python 实现 macOS 系统署理的设置 [打印本页]

作者: 金歌    时间: 2025-1-22 15:59
标题: Python 实现 macOS 系统署理的设置
Python 实现 macOS 系统署理的设置

设置 SOCKS 署理

在 macOS 系统中,可以通过 networksetup 工具来设置 SOCKS 署理。以下是 Python 实现的方法:
使用 networksetup 设置 SOCKS 署理
  1. import subprocess
  2. def set_socks_proxy(server, port):
  3.     """
  4.     设置 macOS 系统的 SOCKS 代理。
  5.     :param server: 代理服务器地址
  6.     :param port: 代理端口
  7.     """
  8.     try:
  9.         # 设置 SOCKS 代理
  10.         subprocess.run(
  11.             ['networksetup', '-setsocksfirewallproxy', 'Wi-Fi', server, str(port)],
  12.             check=True
  13.         )
  14.         print(f"SOCKS 代理已设置为 {server}:{port}")
  15.     except subprocess.CalledProcessError as e:
  16.         print(f"设置 SOCKS 代理失败: {e}")
  17. def disable_socks_proxy():
  18.     """
  19.     禁用 macOS 系统的 SOCKS 代理。
  20.     """
  21.     try:
  22.         # 关闭 SOCKS 代理
  23.         subprocess.run(
  24.             ['networksetup', '-setsocksfirewallproxystate', 'Wi-Fi', 'off'],
  25.             check=True
  26.         )
  27.         print("SOCKS 代理已禁用")
  28.     except subprocess.CalledProcessError as e:
  29.         print(f"禁用 SOCKS 代理失败: {e}")
  30. if __name__ == "__main__":
  31.     # 设置 SOCKS 代理
  32.     set_socks_proxy('127.0.0.1', 1080)
  33.     # 禁用 SOCKS 代理
  34.     # disable_socks_proxy()
复制代码
参数阐明
检查网络服务名称

在实行脚本前,可以通过以下下令查察可用的网络服务名称:
  1. networksetup -listallnetworkservices
复制代码
找到正确的服务名称(如 Wi-Fi 或 Ethernet),并替换到脚本中。
效果验证

可以通过以下下令验证是否成功设置署理:
  1. networksetup -getsocksfirewallproxy Wi-Fi
复制代码
输出类似以下内容:
  1. Enabled: Yes
  2. Server: 127.0.0.1
  3. Port: 1080
  4. Authenticated Proxy Enabled: 0
复制代码
注意事项

设置 HTTP 和 HTTPS 署理
  1. import subprocess
  2. def set_web_proxy(server, port):
  3.     """
  4.     设置 macOS 系统代理。
  5.     :param server: 代理服务器地址
  6.     :param port: 代理端口
  7.     """
  8.     # 设置 HTTP 和 HTTPS 代理
  9.     subprocess.run(['networksetup', '-setwebproxy', 'Wi-Fi', server, str(port)], check=True)
  10.     subprocess.run(['networksetup', '-setsecurewebproxy', 'Wi-Fi', server, str(port)], check=True)
  11.     print(f"HTTP 和 HTTPS 代理设置为 {server}:{port}")
  12. def disable_web_proxy():
  13.     """
  14.     禁用 macOS 系统代理。
  15.     """
  16.     # 关闭 HTTP 和 HTTPS 代理
  17.     subprocess.run(['networksetup', '-setwebproxystate', 'Wi-Fi', 'off'], check=True)
  18.     subprocess.run(['networksetup', '-setsecurewebproxystate', 'Wi-Fi', 'off'], check=True)
  19.     print("HTTP 和 HTTPS 代理已禁用")
  20. if __name__ == "__main__":
  21.     # 设置代理
  22.     set_proxy('127.0.0.1', 1081)
  23.     # 禁用代理
  24.     # disable_web_proxy()
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4