как поменять и применить прокси в системе?

Рейтинг: 0Ответов: 0Опубликовано: 30.03.2023

Всем доброй ночи, пишу я, значит, простенький прокси сервер, который ставлю на localhost, но проблема заключается в том, что, допустим, браузеры не берут системные прокси, даже когда в параметрах Windows => Прокси-сервер => Настройка прокси вручную стоит включённый флаг, в котором в качестве адреса указан 127.0.0.1 и в качестве порта - выбранный мной порт. Значения адреса и порта я выставлял программно через реестр вот так:

[DllImport("wininet.dll")]
    public static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int dwBufferLength);
    public const int INTERNET_OPTION_SETTINGS_CHANGED = 39;
    public const int INTERNET_OPTION_REFRESH = 37;
static void Main(string[] args)
    {
        if (args.Length == 0)
        {
            setProxy("127.0.0.1:4848", false);
            Listener();
            //return;
        }

        setProxy(args[0], true);

        
    }
 static void setProxy(string proxyhost, bool proxyEnabled)
    {
        const string userRoot = "HKEY_CURRENT_USER";
        const string subkey = "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings";
        const string keyName = userRoot + "\\" + subkey;

        if (proxyhost.Length != 0)
            Registry.SetValue(keyName, "ProxyServer", proxyhost);
        Registry.SetValue(keyName, "ProxyEnable", proxyEnabled ? 1 : 0, RegistryValueKind.DWord);

        
        InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SETTINGS_CHANGED, IntPtr.Zero, 0);
        InternetSetOption(IntPtr.Zero, INTERNET_OPTION_REFRESH, IntPtr.Zero, 0);
    }

У меня создаётся такое впечатление, что просто эта функция не работает, так как я поднимал сервер с помощью TcpListener'а, но он ничего не хватает из запросов, но, ради эксперимента, я решил скачать Firefox, в котором я вручную поставил настройки прокси-сервера (т.е.) поставил в адрес 127.0.0.1 и выбранный мною порт, в итоге, написанный мной сервер хватает запросы из фаерфокса, но, когда я снова ставлю в фаерфокс системные настройки прокси, и в настройках ставлю флаг "Вкл" на ручную настройку проксей и туда ставлю локалхоствведите сюда описание изображения, то опять написанный мною сервер никакие запросы не хватает. Подскажите, пожалуйста, что делать?

Только что потестировал и понял, чтобы настройка прокси применялась в системе, надо нажать эту кнопку: введите сюда описание изображения, подскажите, пожалуйста, как её можно нажать программно, т.е. сохранить настройки проксей?

Ответы

Ответов пока нет.