Internet explorer 设置代理用户&;通行证登记处

Internet explorer 设置代理用户&;通行证登记处,internet-explorer,proxy,registry,autoit,Internet Explorer,Proxy,Registry,Autoit,我目前正在AutoIt中编写一个脚本,用于在Internet Explorer中旋转需要用户名/密码身份验证的代理 然而,我用什么语言写这篇文章并不重要,因为我只是在做注册表写操作。我读到我可以编写需要身份验证的代理,格式为:“用户名:password@host:port“到ProxyServer密钥。我还尝试添加“http://”前缀,但仍然没有成功 Func _IESetProxy($tProxy) If $tProxy="0" Then RegWrite("HKEY_CURRENT

我目前正在AutoIt中编写一个脚本,用于在Internet Explorer中旋转需要用户名/密码身份验证的代理

然而,我用什么语言写这篇文章并不重要,因为我只是在做注册表写操作。我读到我可以编写需要身份验证的代理,格式为:“用户名:password@host:port“到ProxyServer密钥。我还尝试添加“http://”前缀,但仍然没有成功

Func _IESetProxy($tProxy)
If $tProxy="0" Then
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyEnable", "REG_DWORD", 0)
Else
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyServer", "REG_SZ", $tProxy)
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyEnable", "REG_DWORD", 1)
EndIf
EndFunc
执行此代码并检查internet设置后,我注意到代理已启用,端口正确为80,但地址字段为空。当我手动检查注册表时,ProxyServer键由用户正确填写:pass@serv:端口字符串是我写的。

你请客

SetProxy("user:pass@serv,"port")


Func SetProxy($ProxyServer, $ProxyPort = "8080")

    local $ProxyUSER
    local $ProxyPASS

    If StringInStr($proxy,"@") Then

        $proxy1 = StringSplit($proxy, "@")
        $proxy = $proxy1[2]
        $proxy2 = StringSplit($proxy1[1], ":")

        $ProxyUSER = $proxy2[1]
        $ProxyPASS = $proxy2[2]

    EndIf

    $key = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"

    If $proxy == 0 Then
        $reg = RegWrite($key, "ProxyEnable", "REG_DWORD", "0")
        $reg1 = RegWrite($key, "ProxyServer", "REG_SZ", "")
        DllCall('WININET.DLL', 'long', 'InternetSetOption', 'int', 0, 'long', 39, 'str', 0, 'long', 0)
        Return 1
    EndIf

    RegWrite($key, "ProxyEnable", "REG_DWORD", "1")
    RegWrite($key, "ProxyServer", "REG_SZ", $ProxyServer & ":" & $ProxyPort)
    RegWrite($key, "ProxyUser", "REG_SZ", $ProxyUSER)
    RegWrite($key, "ProxyPass", "REG_SZ", $ProxyPASS)
    DllCall('WININET.DLL', 'long', 'InternetSetOption', 'int', 0, 'long', 39, 'str', 0, 'long', 0)




EndFunc   ;==>SetProxy

windows注册表中是否有ProxyUser和ProxyPass键。用户将如何通过代理配置进行设置。不工作。据我所知,脚本只是设置ProxyUser/ProxyPass键。我检查了注册表,一切都设置好了,但系统和Chrome仍然要求用户名/密码