ZBLOG

golang 清除windows系统代理

在 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 系统的代理设置。如果你想自定义这些值,可以根据需要修改。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=6284

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?