[python] proxychecker

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by n4e/\@, 10 May 2009.

  1. n4e/\@

    n4e/\@ Elder - Старейшина

    Joined:
    6 May 2008
    Messages:
    138
    Likes Received:
    17
    Reputations:
    0
    Достаточно долго искал прокси чекер под linux, сегодня совершенно случайно наткнулся на питоновский скрипт. К сожалению он был с небольшой ошибкой, погуглив основы питона смог ее исправить.
    Стало интересно решил попробовать дописать многопоточность.
    Вот что получилось:
    Code:
    #!/usr/bin/python
    import urllib2, socket
    import threading, sys
    
    # proxycheck [file] [result] [timeout] [flows]"
    proxyList = []
    f2 = open(sys.argv[2], "w")
    
    socket.setdefaulttimeout(int(sys.argv[3]))
    
    for line in file(sys.argv[1]):
        proxyList.append(line)
    
    def is_bad_proxy(pip):    
        try:        
            proxy_handler = urllib2.ProxyHandler({'http': pip})        
            opener = urllib2.build_opener(proxy_handler)
            opener.addheaders = [('User-agent', 'Mozilla/5.0')]
            urllib2.install_opener(opener)        
            req=urllib2.Request('http://www.ya.ru')
            sock=urllib2.urlopen(req)
        except urllib2.HTTPError, e:        
            #print 'Error code: ', e.code
            return e.code
        except Exception, detail:
            #print "ERROR:", detail
            return 1
        return 0
    def checkPrint(item):
        if is_bad_proxy(item):
            print "Bad Proxy", item
        else:
            print "Is working", item
            f2.write(item)
        
    p = []
    x = 0
    for item in proxyList:
        i = 0
        while i<int(sys.argv[4]):
            p.append(i)
            item = proxyList[x]
            p[i] = threading.Thread(target=checkPrint, args=[proxyList[x]])
            p[i].start()
            i,x = i+1,x+1
    f2.close
    
    С подсветкой синтаксиса
    Запускать:
    programm [файл с проксями(прокся:порт)] [файл для работающих проксей] [таймаут] [порт]
    Вот собственно может кому будет полезно.
    P.S. Еще сегодня утром я вообще не имел представление о питоне.
     
  2. syava

    syava Member

    Joined:
    4 Feb 2009
    Messages:
    16
    Likes Received:
    7
    Reputations:
    0
    это ***ня, а не прокси чекер, объяснить почему? и отдельной темы оно никак не заслуживает.
     
  3. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Это не пост, а х.уйня, потому что оффтоп.
    а код кривой, но это не претензия так как ты не программист :)
    Надо перенести в соседний раздел, и кинуть в тему скриптов..