Piszę małą aplikację w języku C#, która będzie korzystać z przeglądarki Internet Explorer do interakcji z kilkoma witrynami, z pomocą WatiN.Programowo ustaw adres serwera proxy, port, użytkownika, hasło przez rejestr systemu Windows
Jednak będzie również wymagać od czasu do czasu korzystania z serwera proxy.
Znalazłem Programmatically Set Browser Proxy Settings in C#, ale to tylko pozwala mi wprowadzić adres proxy, i muszę również wprowadzić nazwę użytkownika i hasło proxy. Jak mogę to zrobić?
Uwaga:
- To nie ma znaczenia, czy to rozwiązanie zmienia całe ustawienia systemu internetowego. Jednak wolałbym zmienić tylko ustawienia proxy IE (dla dowolnego połączenia).
- Rozwiązanie musi współpracować z IE8 i Windows XP SP3 lub nowszym.
- Chciałbym mieć możliwość najpierw odczytania ustawień proxy, aby później móc cofnąć moje zmiany.
EDIT
Z pomocą rejestru systemu Windows dostępnym poprzez Microsoft.Win32.RegistryKey
, udało mi się zastosować coś proxy tak:
RegistryKey registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true);
registry.SetValue("ProxyEnable", 1);
registry.SetValue("ProxyServer", "127.0.0.1:8080");
Ale jak mogę podać nazwę użytkownika i hasło do logowania na serwerze proxy?
Zauważyłem również, że IE nie odświeża szczegółów Proxy dla swoich połączeń po zmianie rejestru, w jaki sposób mogę zamówić IE, aby odświeżyć ustawienia połączenia z rejestru?
Dzięki
Tak długo, jak działa na IE. Dzięki. –
bardzo ładne .. działa @Mike L .. ale co zrobimy, jeśli hasło zawiera znaki specjalne takie jak @ # itd .. to powinien to być użytkownik: p @ ssword @ 127.0.0.1: 8080 ???? – Mike