如何以编程方式设置代理设置

时间:2015-06-15 22:01:35

标签: objective-c c macos proxy

我试图以编程方式更改OS X(10.9及更高版本)上的代理设置。到目前为止,我发现的唯一解决方案似乎涉及在每个接口上单独设置代理设置。为了完整起见,它们似乎也隐含地涉及到监控接口的进出,以便在添加接口时添加设置。

我已经用SCDynamicStoreSetValue()编写了一些测试代码,这似乎是正确的(即如果我使用scutil进行验证,则显示正确的内容)。但是,只要我更改接口(即插入/拔出有线接口),设置就会消失。

我还考虑修改/Library/Preferences/SystemConfiguration/preferences.plist,但是(也)似乎需要基于每个接口进行更新,以及其他问题。

是否存在全局/默认设置,如果未设置per-interface设置,系统将回退到该设置?如果是这样,我该如何获取/设置它?

2 个答案:

答案 0 :(得分:0)

您可以使用以下命令进行更新     用终端打

networksetup -setwebproxy Wi-Fi 127.0.0.1 14201

networksetup -setwebproxy Ethernet 127.0.0.1 14201

networksetup -setsecurewebproxy Wi-Fi  127.0.0.1 14201

networksetup -setsecurewebproxy Ethernet  127.0.0.1 14201

答案 1 :(得分:0)

您可以创建一个批处理文件,然后从终端运行它:批处理文件的创建如下:

 #! /bin/bash

 export PATH=/usr/local/share/dotnet:$PATH 

 networksetup -setwebproxy Wi-Fi 127.0.0.1 14201
 networksetup -setwebproxy Ethernet 127.0.0.1 14201

 networksetup -setsecurewebproxy Wi-Fi  127.0.0.1 14201
 networksetup -setsecurewebproxy Ethernet  127.0.0.1 14201

保存不带扩展名的文件,并在带有文件路径的命令下运行

  chmod +x filepath