как поменять и применить прокси в системе?
Всем доброй ночи, пишу я, значит, простенький прокси сервер, который ставлю на 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 и выбранный мною порт, в итоге, написанный мной сервер хватает запросы из фаерфокса, но, когда я снова ставлю в фаерфокс системные настройки прокси, и в настройках ставлю флаг "Вкл" на ручную настройку проксей и туда ставлю локалхост, то опять написанный мною сервер никакие запросы не хватает. Подскажите, пожалуйста, что делать?
Только что потестировал и понял, чтобы настройка прокси применялась в системе, надо нажать эту кнопку: , подскажите, пожалуйста, как её можно нажать программно, т.е. сохранить настройки проксей?