Socks Proxy для HttpWebRequest - PullRequest
       19

Socks Proxy для HttpWebRequest

11 голосов
/ 04 октября 2010

Согласно моим исследованиям, пытаясь решить эту проблему, выясняется, что класс .Net WebProxy не поддерживает прокси-серверы Socks, что немного раздражает.Я также не могу найти какой-либо код или информацию, которая объясняет, как реализовать поддержку Socks 4/5 через класс, который можно легко использовать с HttpWebRequest (свойство Proxy, если быть точным).

I 'Я нашел ограниченную информацию через Google о том, как я мог это сделать. Одно предложение включает изменение настроек прокси-сервера Internet Explorer - что-то, чего я бы предпочел не делать.

Кто-нибудь знает что-нибудь, что могло бы выполнить работу или есть какие-либо предложения?Любая помощь будет высоко ценится.

Ответы [ 3 ]

3 голосов
/ 25 октября 2010

Я перепробовал множество библиотек .Net, которые утверждали, что поддерживают Socks4 / 5, но обнаружил, что многие из них просто не работают или будут возникать ошибки при попытке подключиться к прокси-серверам, которые, как я знаю, работают. Компонент Soil / SSL от Chilkat Software , который мне подходит, даже если мне приходится вручную создавать HTTP-запросы вместо использования HttpWebRequest, как мне бы хотелось.

  • Обновлениепримечание: Chilkat.Http (аналог класса HttpWebRequest) по сути имеет поддержку прокси-серверов SOCKS.Так что не тратьте время, пытаясь закодировать свои собственные HTTP-запросы, как я;просто используйте свойства Chilkat.Http.SocksHostname, Chilkat.Http.SocksPort и Chilkat.Http.SocksVersion.
2 голосов
/ 04 октября 2010

Изменение настроек прокси в IE вам совсем не поможет - другой автор просто заметил, что он работает для IE.Поскольку .NET Framework не поддерживает SOCKS, вам придется написать собственный конвертер CERN-Proxy в SOCKS-Proxy, чтобы .NET общался с прокси-сервером CERN (тип, который он поддерживает), а ваш код преобразовывал его вВызов прокси SOCKS.

FWIW, это то, что я сейчас хочу добавить в FiddlerCore (www.fiddler2.com/core), потому что у меня уже есть почти весь код.Единственное, что мне действительно нужно, это прокси SOCKSv4a для проверки.

0 голосов
/ 11 октября 2014

Используйте Privoxy или то же самое для создания http-шлюза прокси для ваших носков.

Добавьте это в основной конфиг для цепочки Privoxy и носков:

forward-socks5 / proxy_host:port .

И что-то подобное для включения прямого доступа к вашей локальной сети:

forward 192.168.*.*/ . forward 10.*.*.*/ . forward 127.*.*.*/ .

...