2009-10-28 7 views
2

Я хочу, чтобы код C# использовал Socks 5 прокси в Internet Explorer. У меня есть код для HTTP-прокси, но этот код не работает для прокси-серверов Socks.Может ли Internet Explorer использовать прокси-сервер Socks программно?

У кого-нибудь есть такой код? Укажите несколько указателей.

Я в основном делаю автоматизацию IE в C#, и мне нужен код для использования прокси-серверов socks с использованием IE.

ответ

1

Что удерживает вас от установки

HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Настройки Интернет \

  • "ProxyEnable" 1 (включить использование прокси-сервера)
  • "AutoConfigURL" в a *.pac -файл (может указывать на файл на локальном или дистанционном сервере)

?

Имеет то преимущество, что вы можете распространять один конфигурационный файл, который легче обновлять, чем двоичный, когда возникают изменения. *.pac файлов достаточно просты:

function FindProxyForURL(url,host) {return"SOCKS my.socksproxy.net:<proxyport>"} 

Кроме того: Существует "официальный" способ: Настройка IE-Settings через группу политик-API, весь документированные на MSDN. Позволяет настроить прокси для каждого протокола, но не так просто, как мое первое предложение.

+0

Я flokra, я знаю этот процесс, у вас есть код для установки прокси-скрипта на C#? –

+0

Вы найдете примеры + пояснения к MSDN: http://msdn.microsoft.com/en-us/library/aa383910%28VS.85%29.aspx – flokra

1

IE использует WinINet, поэтому, если вы измените настройки прокси-сервера WinINet в реестре, я думаю, что это повлияет на IE и другие приложения, используя WinINet.

http://msdn.microsoft.com/en-us/library/ms905660.aspx

В разделе «Настройка прокси-сервер», он отметил, что этот ключ можно манипулировать WinINet функциями. Я думаю, что можно использовать PInvoke в C# для их вызова.