在 Golang 中清除 Windows 系统代理,可以通过以下代码实现:
package main
import (
"golang.org/x/sys/windows/registry"
)
func clearProxySettings() error {
k, err := registry.OpenKey(registry.CURRENT_USER, `Software\Microsoft\Windows\CurrentVersion\Internet Settings`, registry.QUERY_VALUE|registry.SET_VALUE)
if err != nil {
return err
}
defer k.Close()
if err = k.SetStringValue("AutoConfigURL", ""); err != nil {
return err
}
if err = k.SetStringValue("ProxyEnable", "0"); err != nil {
return err
}
if err = k.SetStringValue("ProxyServer", ""); err != nil {
return err
}
if _, _, err = k.GetIntegerValue("ProxyOverride"); err == nil {
if err = k.DeleteValue("ProxyOverride"); err != nil {
return err
}
}
return nil
}
func main() {
// 调用清除代理函数
clearProxySettings()
}
该代码使用了 Go 的第三方库 golang.org/x/sys/windows/registry
,该库提供了访问 Windows 注册表的接口。在 clearProxySettings()
函数中,我们打开了 Software\Microsoft\Windows\CurrentVersion\Internet Settings
这个注册表键,并设置了它的四个值:AutoConfigURL、ProxyEnable、ProxyServer 和 ProxyOverride。这四个值分别对应自动配置 URL、代理启用、代理服务器和代理忽略列表。
设置这些值为默认值即可清除 Windows 系统的代理设置。如果你想自定义这些值,可以根据需要修改。