在 Windows 7 中,是否可以從命令列定義/變更代理程式配置?
因此,使用 GUI,我會:
開始 → 控制面板 → 網路和 Internet → Internet 選項 → 連接 → LAN 設定
進而
- 啟用/停用代理程式;
- 定義IP:代理伺服器的連接埠。
但我寧願從命令列執行此操作(這樣我就可以使用快捷鍵從批次文件運行命令 - 使我能夠使用快捷方式切換代理配置,而不必費力地通過 MS嚮導)。
我已經考慮過使用netsh.exe
更改 WinHTTP 的設置,但這似乎是錯誤的做法,因為 WinHTTP 設定似乎與 LAN 設定無關。
答案1
在 Windows 7 中 proxycfg.exe 已被替換為網什命令。 Netsh.exe 是一個命令列腳本實用程序,可讓您在本機或遠端顯示或修改目前正在執行的電腦的網路設定。若要設定本機電腦代理,您將使用下列語法:
- 在管理模式下開啟命令提示字元(點選開始地球,輸入cmd,然後點選Ctrl+Shift+Enter)
設定代理:
netsh winhttp set proxy [proxy server address:port number] [bypass list]
例子:
netsh winhttp set proxy "myproxy.proxyaddress.com:8484" "<local>;*.proxyaddress.com"
若要檢查您的代理伺服器設定:
netsh winhttp show proxy
若要刪除代理伺服器設定:
netsh winhttp reset proxy
該netsh
命令是互動式的,因此您始終只需鍵入 netsh,然後鍵入您需要保存一些關鍵條紋的後續命令。
重要的提示:如果您在 64 位元作業系統上執行,並且希望代理程式也套用於 32 位元進程,您還需要透過執行 來修改您的設定C:\Windows\SysWow64\netsh.exe
。這是由 Windows 7 版本中的錯誤引起的netsh.exe
,該錯誤不會將註冊表值寫入註冊表Wow6432Node
項。此錯誤似乎已在 Windows 10 中修復(也可能在 Windows 8 中修復)
答案2
我不知道如何從命令列更改 Windows 7 中的代理程式。
但有一個工具可以輕鬆切換 Windows 代理程式。我們可以配置多個代理並從系統托盤在代理之間切換。我知道這不是您正在尋找的答案,但可能會幫助其他用戶。
檢查這裡:
http://www.winhelponline.com/blog/quickly-switch-proxy-settings-using-ieproxy/
http://ieproxy.codeplex.com/releases/view/19014
編輯:
順便說一句,這些是 Windows 代理程式的註冊表設置,應該很容易編寫腳本來從命令列更改 ie 代理程式。不過我還沒試過。
http://ozansafi.wordpress.com/2009/07/05/enabledisable-change-ie-proxy-by-scriptprogrammatically/
答案3
我在 Windows XP 上測試了以下程式碼。您可以在 Windows 7 上嘗試。
請記得將 xxxx:p 替換為代理伺服器的 IP 位址和連接埠。
建立,
setlocal
set SUBKEY=Software\Microsoft\Windows\CurrentVersion\Internet Settings
reg add "HKCU\%SUBKEY%" /f /v MigrateProxy /t REG_DWORD /d 0x1
reg add "HKCU\%SUBKEY%" /f /v ProxyEnable /t REG_DWORD /d 0x1
reg add "HKCU\%SUBKEY%" /f /v ProxyServer /t REG_SZ /d "x.x.x.x:p"
reg add "HKCU\%SUBKEY%" /f /v ProxyOverride /t REG_SZ /d "<local>"
endlocal
要刪除(還有撥號連線的設定),
setlocal
set SUBKEY=Software\Microsoft\Windows\CurrentVersion\Internet Settings
reg delete "HKCU\%SUBKEY%\Connections" /f
reg add "HKCU\%SUBKEY%" /f /v MigrateProxy /t REG_DWORD /d 0x1
reg add "HKCU\%SUBKEY%" /f /v ProxyEnable /t REG_DWORD /d 0x0
reg delete "HKCU\%SUBKEY%" /f /v ProxyServer
reg delete "HKCU\%SUBKEY%" /f /v ProxyOverride
endlocal