PDA

Просмотр полной версии : [python] proxychecker


n4e/\@
10.05.2009, 17:30
Достаточно долго искал прокси чекер под linux, сегодня совершенно случайно наткнулся на питоновский скрипт. К сожалению он был с небольшой ошибкой, погуглив основы питона смог ее исправить.
Стало интересно решил попробовать дописать многопоточность.
Вот что получилось:

#!/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

С подсветкой синтаксиса (http://paste.org.ru/?pv5bjc)
Запускать:
programm [файл с проксями(прокся:порт)] [файл для работающих проксей] [таймаут] [порт]
Вот собственно может кому будет полезно.
P.S. Еще сегодня утром я вообще не имел представление о питоне.

syava
10.05.2009, 21:03
это ***ня, а не прокси чекер, объяснить почему? и отдельной темы оно никак не заслуживает.

De-visible
10.05.2009, 21:32
это ***ня, а не прокси чекер, объяснить почему? и отдельной темы оно никак не заслуживает.
Это не пост, а х.уйня, потому что оффтоп.
а код кривой, но это не претензия так как ты не программист :)
Надо перенести в соседний раздел, и кинуть в тему скриптов..