在OS X中,通過檢查Web代理(HTTP)並指定以下代碼,從系統首選項>網絡>代理打開和關閉Web代理。 Web代理服務器等,然後單擊確定,然後單擊「應用」。這是太多的步驟。有沒有辦法從命令行和shell腳本完成這一切?如何通過命令行在OS x中打開和關閉Web代理
回答
這是一個在macworld上打開和關閉代理的Applescript。
未認證代理(並假設這是你要配置的以太網服務):
networksetup -setwebproxy Ethernet proxy.example.net 80 off
用於驗證:
networksetup -setwebproxy Ethernet proxy.example.net 80 on proxyuser "p4ssw0rd"
和轉它關閉:
networksetup -setwebproxystate Ethernet off
如果網絡服務未命名只是「以太網」,你可能需要解析networksetup -listallnetworkservices
或-listnetworkserviceorder
以獲得正確的名稱。
爲了在OSX Mavericks中打開/關閉我的代理服務器,我設置了這個腳本。請注意,這個例子只會影響我的Wi-Fi適配器。我一次性打開/關閉Web,流媒體和SOCKS代理。您也可以設置代理地址,根據Gordon's example,但我已通過系統首選項>網絡>代理GUI保存了該代理地址。
bash腳本,保存爲prox.sh:
#!/bin/bash
e=$(networksetup -getwebproxy wi-fi | grep "No")
if [ -n "$e" ]; then
echo "Turning on proxy"
sudo networksetup -setstreamingproxystate wi-fi on
sudo networksetup -setsocksfirewallproxystate wi-fi on
sudo networksetup -setwebproxystate wi-fi on
else
echo "Turning off proxy"
sudo networksetup -setstreamingproxystate wi-fi off
sudo networksetup -setsocksfirewallproxystate wi-fi off
sudo networksetup -setwebproxystate wi-fi off
fi
符號鏈接然後在命令行腳本:
ln -s /Script/Location/prox.sh prox-toggle
現在,您可以切換對代理在命令/關閉line:
bash prox-toggle
@ potato-eat-apple寫道:埃裏克感謝您的腳本,一個問題:它總是彈出我鍵入我的機器密碼。如何避免這種情況? – 2017-11-15 07:26:54
只是切換:)
networksetup -setwebproxystate <networkservice> <on off>
networksetup -setsecurewebproxystate <networkservice> <on off>
例子:
networksetup -setwebproxystate Wi-Fi on
networksetup -setsecurewebproxystate Wi-Fi on
要辦理變更警報:前綴sudo
像
sudo networksetup -setwebproxystate Wi-Fi on
sudo networksetup -setsecurewebproxystate Wi-Fi on
我編寫了一個腳本命名代理,可能會幫助,
#!/bin/bash
#
#
# Author: Md. Sazzad Hissain Khan
# Date: 8 July, 2017
#
#
NETWORK_SERVICE_NAME="Ethernet"
if [ "$#" -ne 1 ]; then
echo "Argument missing [on/off]"
exit 0
fi
if [ $1 == "on" ]; then
echo "Enabling secure proxy for $NETWORK_SERVICE_NAME"
networksetup -setsecurewebproxystate "$NETWORK_SERVICE_NAME" on
elif [ $1 == "off" ]; then
echo "Disabling secure proxy for $NETWORK_SERVICE_NAME"
networksetup -setsecurewebproxystate "$NETWORK_SERVICE_NAME" off
else
echo "Argument invalid [permitted:on/off]"
fi
NETWORK_SERVICE_NAME
是您需要配置的活動網絡的名稱。
- 創建
proxy
文件中/usr/local/bin.
- 複製上面的腳本到使用
sudo chmod 777 proxy
文件proxy.
- 設置可執行權限。
如何使用:
proxy on
proxy off
太棒了。我爲HTTP代理添加了networksetup -setwebproxystate「$ NETWORK_SERVICE_NAME」:) – 2017-12-14 12:38:00
- 1. 在Mac OS X中通過命令行更改網絡代理設置Lion
- 2. 如何通過命令行獲取Mac OS X的開發工具(例如,make)
- 3. 使用UNIX中的命令關閉所有打開的X-windows
- 4. 打開和關閉物理
- 5. 命令在Mac OS X中在.bash_profile中打開emacs和emacs日曆和日記
- 6. 如何在Windows上通過命令行關閉redis-cli?
- 7. 通過tcp命令關閉Jacoco Java代理
- 8. 如何將命令操作添加到OS X上的'打開...'
- 9. 如何使用adb命令打開和關閉屏幕?
- 10. 通過命令行打開端口5900?
- 11. 如何通過adb命令關閉物理鍵盤?
- 12. 如何通過命令行
- 13. 發送關鍵代碼到OS X上的命令行程序
- 14. 如何在Mac OS X上關閉Redis?
- 15. 如何找出批處理文件是通過雙擊打開還是通過命令行打開
- 16. 如何通過OS X中的命令行獲取活動用戶的名稱?
- 17. 如何通過單擊關閉按鈕關閉批處理腳本時運行批處理命令
- 18. 通過命令行掛載網絡音量是OS X
- 19. vmd無法在Mac OS X的命令行參數中使用filename打開
- 20. 這可能在Excel中:通過命令行打開XLS,OnLoad導入CSV數據,打印爲PDF,關閉文檔?
- 21. 如何通過瀏覽器打開VLC與PHP鍵(Mac OS X)
- 22. 如何在應用程序是代理時取消Mac OS X中的關閉?
- 23. 打開/關閉gprs代碼
- 24. 什麼命令行開關讓NuGet.exe完全繞過http代理?
- 25. 如何通過打開和關閉UIswtch控制音頻聲音
- 26. 如何通過switchpreferences打開和關閉背景音樂?
- 27. 如何通過命令行
- 28. 如何使用OptionParser通過命令行選項打開文件?
- 29. 通過HDMI通過命令行發送CEC命令
- 30. 如何通過命令行開始在eclipse中運行?
不應該與'on'而不是'off'第一個命令結束了嗎? – unpossible 2015-04-23 18:05:42
@mejpark「off」和「on」關鍵字是指認證,而不是代理設置本身是打開還是關閉。 – 2015-04-23 20:29:52