在C#网络编程中使用匿名Socks5代理

    我们知道编程的时候使用代理服务器并不是一件爽心悦目的事情,可是很多时候又是迫不得已的。微软在.NET Framework得System.Net名称空间里给我们提供了一个WebProxy类,不过这是一个http代理,这种代理使用起来受限太多,很不方便。如果我们需要访问更多的网络服务,socks代理是一个理想的选择。下面是C#编写的一个匿名socks5代理使用示例:

连接匿名socks5服务器代码

   关于socks5代理的详细文档,可以参看RFC 1928

   使用上面的代码需要有一个匿名的socks5代理服务器,然后调用:

private  Socket GetSocket( string  strIpAdd,  int  iPort)
{
    IPAddress hostadd 
= Dns.Resolve(strIpAdd).AddressList[0];
    IPEndPoint EPhost 
= new IPEndPoint(hostadd, iPort);
    Socket s 
= new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    s.Connect(EPhost);
    
return s ;
}


sRemoteHost 
=  GetSocket(proxyHost, proxyProt);
ConnectProxyServer(
"61.135.134.24"80
, sRemoteHost);

   如果您需要使用非匿名的socks5代理,把RFC 1928后面关于用户验证的部分实现就可以了,由于我使用的都是匿名的socks5代理,所以没有做这个部分得工作

你可能感兴趣的:(网络编程)