1. #1

    Registriert seit
    19.12.2011
    Beiträge
    356
    Thanked 164 Times in 101 Posts

    Standard [C#] Proxyfinder

    Aus meinem Client, tested and working....
    Benutzt die Klasse Server aus der KNDeKaDeNz.Net.
    Solltet ihr diese nicht mit einbinden wollen, hier nochmal der Source für die einzelne Klasse.


    PHP-Code:
     public class Server
        
    {
            public 
    Server(string hostint port)
            {
                
    this.host host;
                
    this.port port;
            }
            
    override public string ToString()
            {
                return 
    host ":" port;
            }
            public 
    string getHost() { return host; }
            public 
    int getPort(){  return port;}
            private 
    string host;
            private 
    int port 0;
        } 
    [HIDE=50]
    PHP-Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net;
    using System.Text.RegularExpressions;
    using System.Threading;
    using System.Net.Sockets;

    namespace 
    KNDeKaDeNz.Net
    {
        public class 
    ProxyFinder
        
    {



            public 
    delegate void checkedProxyEvent(int state);
            public 
    event checkedProxyEvent checkedProxy;

            public 
    void checkProxy(Server pint timeout)
            {
                
    string host p.getHost();
                
    int port p.getPort();
                new 
    Thread(delegate()
                {
                    
    Socket socket = new Socket(AddressFamily.InterNetworkSocketType.StreamProtocolType.Tcp);
                    
    socket.BeginConnect(hostportnullnull).AsyncWaitHandle.WaitOne(timeout);
                    if (
    socket.Connected)
                    {
                        
    this.checkedProxy(1);
                    }
                    else
                    {
                        
    this.checkedProxy(0);
                    }
                    
    socket.Close();
                }).
    Start();
            }


            private 
    void newSocks(object eDownloadStringCompletedEventArgs a)
            {
                
    String src a.Result;
                
    Dictionary<stringint= new Dictionary<stringint>();
                
    Match C Regex.Match(src"(.*)BigBlind(.*)");
                
    String t C.Groups[0].Value;
                
    String[] acts t.Split(';');

                foreach (
    String act in acts)
                {
                    if (
    act.Trim() == "") break;
                    
    string act2 act.Trim();
                    
    string key act2.Split('=')[0].Trim();
                    
    string value act2.Split('=')[1].Trim();
                    if (!
    value.Contains('^'))
                    {

                        
    int v int.Parse(value);
                        
    D.Add(keyv);
                    }
                    else
                    {
                        
    string v1 value.Split('^')[0]; int v1i 0;
                        
    string v2 value.Split('^')[1]; int v2i 0;

                        try
                        {
                            
    v1i int.Parse(v1);
                        }
                        catch
                        {
                            
    v1i D[v1];
                        }
                        try
                        {
                            
    v2i int.Parse(v2);
                        }
                        catch
                        {
                            
    v2i D[v2];
                        }
                        
    int v v1i v2i;
                        if (
    == 0)
                        {
                            
    bool lol2 true;
                        }
                        
    D.Add(keyv);
                    }



                }
                
    src src.Replace("\n""");
                
    string host Regex.Match(src"\\<td class=\\\"t_ip\\\">(.*?)\\<\\/td\\>").Groups[1].Value;
                
    string str3 Regex.Match(src"\\<td class=\\\"t_port\\\">(.*?)\\<\\/td\\>").Groups[1].Value;
                
    Match str2 Regex.Match(str3"\\((.*?)\\^(.*?)\\^(.*?)\\)");
                
    String mv1 str2.Groups[1].Value;
                
    String mv2 str2.Groups[2].Value;
                
    String mv3 str2.Groups[3].Value;
                
    int mvi1 0mvi2 0mvi3 0;
                try
                {
                    
    mvi1 int.Parse(mv1);
                }
                catch
                {
                    
    mvi1 D[mv1];
                }
                try
                {
                    
    mvi2 int.Parse(mv2);
                }
                catch
                {
                    
    mvi2 D[mv2];
                }
                try
                {
                    
    mvi3 int.Parse(mv3);
                }
                catch
                {
                    
    mvi3 D[mv3];
                }

                
    int port mvi1 mvi2 mvi3;
                
    gotProxy(new Server(hostport));
            }
            public 
    delegate void gotProxyEvent(Server proxy);
            public 
    event gotProxyEvent gotProxy;
            public 
    void getProxy()
            {
                
    WebClient client = new WebClient();
                
    client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(this.newSocks);
                
    client.DownloadStringAsync(new Uri("http://sockslist.net/"));
            }

        }

    [/HIDE]
    Geändert von DeKaDeNz (26.01.2012 um 13:53 Uhr)

Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.