Mam problem z .NET wykrywanie ustawień proxy skonfigurowanych za pomocą przeglądarki Internet Explorer.Wykrywanie proxy .NET
Piszę aplikację kliencką obsługującą serwery proxy, a do testowania ustawiam tablicę 9 serwerów kałamarnic, aby obsługiwać różne metody uwierzytelniania dla HTTP i HTTP. Mam skrypt, który aktualizuje IE do dowolnej konfiguracji, którą wybiorę (która to proxy, wykrywanie za pomocą "Auto", PAC lub hardcode).
Próbowałem 3 metody poniżej, aby wykryć konfigurację IE przez .NET. Zdaję się zauważyć, że .NET podnosi niewłaściwy zestaw serwerów proxy. IE ma poprawne ustawienia, a jeśli przeglądam sieć za pomocą IE, widzę, że trafiam na odpowiednie serwery za pomocą wireshark.
WebRequest.GetSystemWebProxy().GetProxy(destination);
GlobalProxySelection.Select.GetProxy(destination);
WebRequest.DefaultWebProxy
Oto następujące wskazówki mam:
- Mój skrypt ustawia plik PAC na serwer i aktualizuje konfigurację w IE, następnie czyści pamięć podręczną IE
- .NET wydaje się "utknąć" na określonej konfiguracji proxy i muszę ustawić inną konfigurację dla .NET, aby zdać sobie sprawę, że nastąpiła zmiana. Od czasu do czasu wydaje się, że wybiera jakiś losowy zbiór serwerów (jestem pewien, że nie są przypadkowe, to tylko zestaw serwerów, które kiedyś użyłem i są w jakimś zbuforowanym pliku PAC lub coś takiego). Jak w, sprawdzę proxy dla miejsca docelowego "https://www.secure.com" i mogę mieć skonfigurowany IE, a więc spodziewać się "http: // squidserver: 18", a zamiast tego zwróci "http : // squidserver: 28 "(port 18 uruchamia NTLM, 28 działa bez uwierzytelnienia). Wszystkie serwery kałamarnic działają.
- To nie wydaje się być problemem tylko na XP, Vista, 2003 i Windows 7.
- hardcoding serwery proxy w IE zawsze działa
- Czas zawsze rozwiązuje problem - jeśli mogę zostawić komputer na około 20 lub 30 minut i wrócą .NET podnosi poprawne ustawienia proxy, tak jakby wygasł buforowany skrypt PAC.
Nie możesz używać UseDefaultProy? – Aliostad
UseDefaultProxy? Nie można znaleźć niczego w Internecie. – Dlongnecker
Czy to w ogóle pomaga? -> http://stackoverflow.com/questions/1023635/detect-proxy-settings-of-default-web-browser-c/1023978#1023978 – adrianbanks