通过Windows注册表以编程方式设置代理地址,端口,用户,密码

Fáb*_*nes 5 c# proxy internet-explorer

我正在编写一个小型C#应用程序,它将使用Internet Explorer与几个网站进行交互,并得到WatiN的帮助.

但是,它还需要不时使用代理.

在C#中遇到了以编程方式设置浏览器代理设置,但这只能让我输入代理地址,我还需要输入代理用户名和密码.我怎样才能做到这一点?

注意:

  • 解决方案是否会更改整个系统的Internet设置并不重要.但是,我更愿意只更改IE代理设置(对于任何连接).
  • 该解决方案必须与IE8和Windows XP SP3或更高版本一起使用.
  • 我希望有可能首先阅读代理设置,以便稍后我可以撤消我的更改.

编辑

在Windows Registry可以访问的帮助下Microsoft.Win32.RegistryKey,我能够应用这样的代理:

RegistryKey registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true);
registry.SetValue("ProxyEnable", 1);
registry.SetValue("ProxyServer", "127.0.0.1:8080");
Run Code Online (Sandbox Code Playgroud)

但是如何指定用户名和密码才能登录代理服务器?

我还注意到,一旦注册表被更改,IE不会刷新其连接的代理详细信息如何命令IE从注册表刷新其连接设置?

谢谢

Mik*_* L. 2

对于 IE,您可以使用注册表中的相同位置。只需设置 ProxyServer="user:password@127.0.0.1:8080" 但 Firefox 完全拒绝此操作,并且不会尝试连接。